|
| 您现在的位置:电子市场 > 技术资料 > 常用技术资料 |
MAX232 |
MAX232 的PDF资料下载,109457K |
其他型号 | MAX2000 MAX2003 MAX202 MAX202CPE MAX202CSE MAX202CWE MAX202E MAX202ECSE |
| MAX232的供应商: |
联系人:林小姐 电话:0755-61630286 |
联系人:赵小姐/杨小姐/黄先生 电话:0755-83277893/83281283/83280839 |
联系人:林晓铃 电话:0755-82501543 |
联系人:李生 电话:0754-86676256/86676255 |
|
| >>更多供应商 | |||||
异种单片机共享片外存储器及其与微机通信的方法
ic36
摘 要: 介绍了通用单片机(MCU)AT89C51与信号处理单片机(DSP)TMS320C32通过共享片外随机存储器实现板间通信的方法,并给出了总线隔离硬件电路与软件控制流程。文中还简要分析了AT89C51与微机进行串行通信的软硬件设计,通过扩展AT89C51间接实现了TMS320C32与通用单片机或微机之间的通信。


信号处理板从数据采集板获取采集数据后,经过对其进行一系列信号处理算法的运算处理,得到的处理结果需要传送给基于单片机或微机的控制系统。由于这里的处理结果数据量很小,所以利用串口通信的方法进行数据传输最为简单。我们可以直接对信号处理板上DSP的串口编程来与控制系统进行通信。但由于DSP的串口为同步串口,而单片机或微机的串口通常都为异步串口,这样就需要用软件来模拟DSP串口的异步通信时序,软件工作量大而且通信不可靠。这里通过扩展单片机与共享存储器的方法很好地解决了这个问题。DSP把处理结果写到共享存储器中,立即进行下一轮处理,由单片机从共享存储器中取出处理结果并传送给控制系统。这就省去了DSP进行串口通信所需的时间,最大限度地利用了DSP的高速数据处理的能力。在实时性要求很高的场合,这显得尤为重要。通过扩展少量的硬件,不但提高了系统的速度,优化了整体性能,而且软件实现也简单了许多。
(贾云得 甘景全 朱玉文)2.1 信号处理板与控制系统的串口通信硬件电路
信号处理板利用扩展的单片机AT89C51与基于微机或MCU的控制系统进行全双工通信。图4为AT89C51的串口通信电路,通过"串口选择"拨码开关选择是与基于微机的控制系统通信,还是与基于MCU的控制系统通信。

在IBM PC/XT微机系统中,其串口符合RS-232C接口标准。为提高抗干扰能力,RS-232C标准采用负逻辑,低电平在-5V~-15V之间(通常用-12V表示)为逻辑"1",高电平在+5V~+15V之间(通常用+12V表示)为逻辑"0",上述电平称为EIA电平,它与TTL电平和CMOS电平不同。为了使AT89C51能与微机进行串行通信,可以利用常见的MC1488和MC1489进行电平转换。MC1488把TTL电平转换为RS-232C电平,MC1489把RS-232C电平转换为TTL电平。但由于MC1488和MC1489需要±12V的供电电压,增加了电源电路的复杂性,如图4所示,这里选用只需单一+5V电压的MAX232来完成电平转换,简化了硬件电路。
当信号处理板与基于MCU的控制系统通信时,只需三根线,一根发送线(TXD),一根接收线(RXD),一根共地线(GND),将双方的地线连在一起,将双方的发送线与接收线交叉连接即可。当信号处理板与基于微机的控制系统通信时,利用微机的九针串口进行通信,它们的串口电缆连线如图5所示。这里的发送线与接收线没有交叉,是因为在进行电平转换时已经交叉过了(参见图4)。

2.2 信号处理板与控制系统的串口通信软件编程
单片机与单片机或微机进行串口通信的软件编程有两种:查询方式和中断方式。这里发送方(信号处理板)采用查询方式,接收方(控制系统)采用中断方式。通信程序主要完成对串口初始化(包括选择串口模式、设置数据传输格式、设置波特率等)、建立连接、传输数据和断开连接等功能。为确保通信可靠,双方约定如下通信协议。
1 信号处理板上电后,一直发送请求联机信号'R',等待控制系统发应答信号'A',如果信号处理板收到应答,表示双方硬件连接正确,联机成功。
2 运行控制系统的串口通信程序。如果是与微机通信,则先自动检测连接的是哪个串口(COM1或COM2),检测到后向信号处理板发应答信号'A';若没检测到则显示错误信息,提示检查接线是否有误。若是与单片机通信,如果在规定的时间内(如10s内)还没有收到应答,则让指示灯闪烁,认为出错,需重新复位。
3信号处理板收到应答后,先向控制系统发送总共要传输的数据个数,然后依次发送每个数据,直到发完为止。
4控制系统发完联机应答信号后,就处于接收状态。先接收总共的数据个数,然后依次接收每个数据。控制系统每接收到一个数据都向信号处理板发确认信号,信号处理板只有收到确认信号后才发下一个数据。
另外,在单片机与微机之间进行通信时,双方要正确选择一致的波特率而且SMOD位的选择影响单片机波特率的准确度,即影响波特率的误差范围。因而在单片机波特率设置时,对SMOD的选取也要适当考虑。为了保证通信的可靠性,通常波特率相对误差不要大于2.5%,当单片机与微机之间进行通信时,尤其要注意这一点。例如,单片机的时钟fOSC=12MHz,串口模式为方式1,假设单片机与微机的波特率都选为9600bps。当SMOD=0时,波特率相对误差为8.5%,当SMOD=1时,波特率相对误差为6.99%。实验表明,不论SMOD=0或1,单片机与微机在这种条件下均不能实现正常的发送与接收。若双方的波特率都取4800bps,且SMOD=1时,波特率相对误差为0.16%,实验证明通信完全可靠。
相关文章