- 经验
- 2688
- 分贝
- 0
- 家园分
- 3197
- 在线时间:
- 1454 小时
- 最后登录:
- 2020-8-5
- 帖子:
- 1016
- 精华:
- 0
- 注册时间:
- 2009-1-25
- UID:
- 325051
注册:2009-1-251
|
基带DSP直连电脑232串口
DSP芯片没有电脑232串口,这给使用带来不便。
基带SOC芯片中的DSP也仅有非232串口总线可见。
那么怎样把非232串口直连到电脑232串口呢!!!
方法很简单,
首先建立硬件连线,3根线,接收RX,发送TX,地线,
例如:TMS320C541,
接收引脚31、32、对应DR0、DR1。
发送引脚41、42、对应DX0、DX1.
电路板上的地线。
不同DSP芯片接收、发送引脚名称不同。
具体连接以DSP向PC发送数据为例:
方案1,
DSP引脚41连线到232芯片10脚,
232芯片7脚连线到电脑9针串口2脚,OK.
方案2,
DSP引脚41连线到电脑USB转串口芯片的RX脚,OK.
这种方法简单高速,无232芯片的速度限制性。
USB转串口数据线中芯片PL2303接收引脚5.
方案3,
把DSP 接收发送引脚合并一线后经差分电路后
连线到电脑USB口,这种方法复杂还需编写Windows
识别、驱动程序这里不讨论。
方案2最实用,因为小本早已无9针串口了。
下一步就是App了,DSPApp+PCApp.
DSP串口工作前需配置控制寄存器SPC0,
再往DSP发送寄存器DXR0写DATA,就OK了。
像这样:
STM #0C020H,SPC0
NOP
NOP
STM #0C0E0H,SPC0
NOP
NOP
.......
CALL:
......
STM #CABFH,DXR0
RET
......
说明:这里假设您对TMS320C541编程很熟。
这时如果你有示波器就能看到波形了,
DSP发送电脑232串口格式:
启始位 发数据55 停位位
11 0 01010101 1 1111,=CABF。
下一步PCApp,源代码要做的就是波特率同步,
否则接收的全是乱吗,
修改电脑如下c语言源代码:
..................
//dcb.BaudRate = 9600bit;
//dcb.BaudRate =115200bit;
//dcb.BaudRate = 1228800;//1.17Mbit
//dcb.BaudRate = 2457600;//1.17Mbitx2
dcb.BaudRate = 3686400;//=3.51Mbit
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
dcb.fAbortOnError = FALSE;
....................
这里假设您对c语言串口编程熟VC6。
这时电脑就收到了dsp发来的数据=AA.
怎么收到的不是55呢,很简单是倒序在源代码中再倒过来就OK了。
方案2最实用.
补充内容 (2013-3-21 12:18):
http://blog.c114.net/html/51/325051.html
|
|