基于PC104与DSP的串行通信设计
摘要
在工作现场中常常需要实时与机载设备进行通讯,开发基于嵌入式PC-104的硬件平台与DSP串行通信系统是十分必要的。本文在DOS操作系统下采用BC++软件编程实现了,嵌入式模块与高速串口通讯的交互测试。测试结果表明该方案的有效性和可行性。
【关键词】PC-104 DSP 串口通信
1 引言
嵌入式PC-104模块是一个完整的计算机系统,与通用微机程序设计一致。在嵌入式计算机系统的设计中,子模块通常使用单片机、DSP等采集并预处理数据。子模块在现场对采集的数据信息进行必要的实时处理,最终需传送到上位机载上进行综合处理。上位机与子模块间存在大量数据交互,因此需要设计上位机与子模块之间的通信接口。DSP子模块与上位机PC-104可通过串口进行通信。串行通信总线具有速度快,通信协议简单,抗辐照,传输可靠性高,占用IO引脚少等特点。
2 PC-104与DSP的数据交换
系统由PC-104模块、DSP模块等组成基本构架,DSP模块传送数据给PC-104,PC-104对收集到的数据处理显示,并将控制命令字,数据发送回给DSP模块。
串行通信抗干扰能力强,传输距离远,在远距离通信中可以节约通信成本。本系统子模块DSP设计利用DSP提供的SPI串口模块,同时上位机PC-104设计选用ACE芯片来扩展异步串口,从PC-104送出的并行数据经过ACE芯片TL16C752后转换成串行,送入DSP中。
PC-104端向DSP发送和接收数据
通过PC104总线实现PC-104模块的发送和接收数据。在系统设计中,PC-104模块上运行DOS操作系统,通过编程实现对PC104总线进行各种操作。使用turbor c中的库函数操作PC104总线时使用绝对地址实现数据的发送和接收。结合可编程ACE芯片,接收和发送数据程序如下:
TempData=inportb(add+UART_LSR); //标志位
If((TempData&0x40)==0x40)
Outportb(add+UART_THR,data); //发送数据
If((TempData&0x01)==0x01)
data=inportb(add+UART_RHR); //接收数据
DSP端向PC-104模块发送和接收数据
DSP模块从PC-104模块中读取数据时,通过对缓冲串口的设置,即使能串口的接收和发送直接访问缓冲串口。接收和发送流程类似,如下图为DSP串口发送流程图。
在串口初始化完成后,只需对数据发送缓冲SCITXBUF和数据接收缓冲器SCIRXBUF进行操作即可完成这个给发送和接收。
实验结果
通过在PC-104模块上设计人机交互界面,分页显示输入模块接收到的数据和录入输出模块的数据。测试界面在平台上运行,可显示接收数据为采样到8路5V电源值误差不
基于PC104与DSP的串行通信设计 来自淘豆网m.daumloan.com转载请标明出处.