| 
经验2688 分贝0 家园分3197 在线时间:1454 小时最后登录:2020-8-5帖子:1016精华:0注册时间:2009-1-25UID:325051
 
 注册:2009-1-25 1 | 
| 基带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针串口了。
 下一步就是软件了,DSP软件+PC软件.
 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。
 下一步PC软件,源代码要做的就是波特率同步,
 否则接收的全是乱吗,
 修改电脑如下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
 | 
 |