




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机通信方案设计论文 摘要:基于嵌入式系统发展的需要,提出tms320vc5402dsp与at89c51单片机通信的三种设计方案。利用tms320vc5402的多通道缓冲串口mcbsp分别实现tms320vc5402与at89c51的sci和spi串行通信,以及通过tms320vc5402的8位增强主机接口hpi一8实现tms320vc5402与at89c5l并行通信。就硬件接口电路和软件编程进行详细的阐述。 关键词:单片机dspmcbsphpi 将dsp和单片机构成双cpu处理器平台,可以充分利用dsp对大容量数据和复杂算法的处理能力,以及单片机接口的控制能力。而dsp与单片机之间快速正确
2、的通信是构建双cpu处理器的关键问题。下面就此问题分别设计串行sci、spi和并行hpi三种连接方式。 1串行通信设计与实现 11sci串行通信设计 1.1.1多通道缓冲串行口mcbsp原理 tms320vc5402(简称vc5402)提供了2个支持高速、全双工、带缓冲、多种数据格式等优点的多通道缓冲串行口mcbsp。mcesp分为数据通路和控制通路。数据通路负责完成数据的收发。cpu或dmac能够向数据发送寄存器dxr写入数据,dxr中的数据通过发送移位寄存器xsr输出到dx引脚。dr引脚接收数据到接收移位寄存器rsr,再复制到接收缓冲寄存器rbr,最后复制到数据接收寄存器drr。这两种数据
3、多级缓冲方式使得数据搬移和片外数据通信能够同时进行。控制通路负责内部时钟产生,帧同步信号产生,信号控制和多通道选择。另外还具有向cpu发送中断信号和向dmac发送同步事件的功能。mcbsp时钟和帧同步信号通过clkr、clkx、fxr、fsx引脚进行控制,接收器和发送器可以相互独立地选择外部时钟和帧同步信号,也可以选择由内部采样率发生器产生时钟和帧同步信号。帧同步脉冲有效表示传输的开始。 1.1.2sci串行接口设计 设置vc5402的mcrsp输出时钟和帧同步信号由内部采样率发生器产生,内部数据时钟clkg和帧同步信号fsg驱动发送时钟clkx和帧同步fsx(clkxm=l,fsxm=l,f
4、sgm=1),输入时钟也由内部采样率发生器产生,内部数据时钟clkg驱动接收时钟clkr(clkrm=1),同时由cpu时钟驱动采样率发生器(clksm=1)。考虑到at89c51(简称c51)串口发送数据帧中第l位为起始位,因此可以利用该位驱动输入帧同步信号fsr,同时要置忽略帧同步信号标志为1。其中fsg帧同步脉冲宽度=(fwid+1)clkg;fsg帧同步脉冲周期=(fper+1)clkg;采样率发生器分频系数(采样率=波特率)=fin(clkgdv+1)。 sci串口连接如图l所示。 1.1.3波特率不一致的处理 vc5402初始化(以图1为例): stm#srgrl,spsal st
5、m#oofeh,spsdl;fsg帧同步脉冲宽度位为1个clkg ;波特率为100mhz(0x(off)=392156bs stm#srgr2,spsal stm#3d00h,spsdl;内部采样率发生器时钟由cpu驱动 c51初始化: movtmod,#20h movtll,#ffh movthl,#ffh;c51波特率=(2smod32)*(fosc12)1(256一初值)一24509bs movscon,#50h;置串口方式l,每一帧10位数据允许接收 movpcon,#80h;设置smod=1 vc5402波特率c51波特率=(39215624509)=1600049 vc5402每发
6、送16位数据,c51只采样1位数据。在vc5402存储器中开辟一个空间对每次发送的8位数据进行扩展,1位扩为16位,0为0000h,l为ffffh,共扩为128位。在数据头部填加16位起始位0000h,数据尾部填加停止位ffffh。在vc5402发送控制寄存器xcr中设置xwdlen=000(1字含8位),即可将要发送的8位数据封装成1帧10字的数据。这也符合c51串口1方式下1帧10位的数据格式。c51以116的vc5402采样速率接收数据,0000h采样为0,ffffh采样为1,由此可以将接收到的200位恢复为8位数据,停止位进入rb8。 c51每发送1位数据,vc5402要采样为16位数
7、据。c51一次发送的10位数据的起始位触发vc5402的接收帧同步。由于vc5402以16倍c51的采样速率接收数据,1位采样为16位,0采样为0000h,1采样为ffffh只采样发送来的10位中的前9位,9位封装成144位,即接收的1帧数据完成。vc5402将收到的144位数据在开辟的存储器空间存放,抛弃前16位,在剩下的128位里分成8组,每组16位。比较其中间的8位,若有4位以上为1,则该16位为1,反之则为0。由此将接收到的144位恢复为8位数据。 为了不让cpu频繁地被数据接收和发送打断,将dma和mcbsp联合使用来控制数据的接收和发送。rrdy直接驱动mcbsp向dmac接收数据
8、事件(revent事件),xrdy直接驱动mcbsp向dmac发送数据事件(xevent事件)。 sci通信协议如图2所示 1.2spi串行通信设计 将c51置为主机,vc5402为从机。mcbsp的时钟停止模式(clkstp=1x)兼容spi模式,接收部分和发送部分内部同步。mcbsp可以作为spi的从机或主机。发送时钟bclkx作为spi协议的移位时钟sck使用,发送帧同步信号bfsx作为从机使能信号nss使用,接收时钟bclkr和接收帧同步信号bfsr不使用。它们在内部分别与bclkx和bfsx直接连接。bdx作为miso,而bdr作为mosi,发送和接收具有相同字长。 c51中的并口p
9、11和p12作为扩展串行spi输人输出口与vc5402连接,p10作为串行时钟输出口,p13作为帧同步信号输出口_。 spi串口连接如图3所示。 vc5402初始化程序(以图3为例): stm#spcrll,spsal;设置时钟停止位进入mcbsp的spi模式 stm#0x1000,spsdl;时钟开始于上升沿(无延迟) stm#spcrl2,spsal stm#0x0040,spsdl;xint由xrdy(即字尾)驱动 stm#pcrl,spsal stm#0x000c,spsdl;对发送和接收时钟,同步帧进行设置 stm#rcrllspsal stm#0x0000,spsdl;接收数据l帧
10、1字1字8位 stm#xcrll,spsal stm#0x0000,spsdl;发送数据1帧1字1字8位; p10发送到vc5402的移位时钟是保证dsp正确采样接收和发送数据的时钟。它要保证和c51的采样接收和发送数据的时钟一致才能使主从机同步。 2并行通信设计与实现 2.1vc5402的hpi接口原理 hpi一8是一个8位(hd0hd7)的连接dsp与主机设备或主处理器的并行接口。dsp与主机通过dsp的片内ram交换数据,整个片内ram都可以作为hpi一8的存储器。hpia地址寄存器只能由主机直接访问,存放当前寻址的存储器的地址;hpid数据锁存器只能由主机直接访问,存放当前要写入或读出
11、的数据;hpic控制寄存器可以被主机和vc5402共同访问。hpi本身的硬件中断逻辑可以完成主从设备之间的握手,主机通过置hpic中的特定位产生dsp中断,同样dsp通过nhint引脚对主机产生中断。hrdy引脚用于自动调节主机访问hpi的速度,使慢速外部主机与dsp能很好地匹配。hrdy由hcs使能,即当hcs为高时hrdy一直为高,而当emulnoff为低时,hdry输出高阻。 hpi连接如图4所示。 2.2并行接口设计 将c51置为主机,vc5402置为从机。c51的po口和hpi的8位数据线hd0hd7相连作为数据传输通道,p10p13设置为输出控制hpi口的操作。其中p10作为读写控
12、制选通信号连接hrw;p11连接字节识别信号hbil,控制读写数据是属于16位字的第1还是第2字节;p12和p13分别连接hcntl0和hcntll,以实现对hpic、hpia和hpid寄存器的访问;nrd和nwr连接nhdsl和nhds2作为数据选通信号来锁存有效的hcntlo1、hbil和hrw信号。nintl作为输入,与hpi口的主机中断信号nhint相连。nhcs一直接地,而nhas口和ale口相连接,在hcntl0i、hbil和hrw信号有效之后,设置nhdsl为低电平,则实现了读写的数据选通,从而完成c51对vc5402hpi口的读写操作。在数据交换过程中,c51向hpi发送数据时
13、,通过置vc5402的hpi控制寄存器hpic中的dspint位为l来中断vc5402。c51接收来自hpi的数据时通过查询方式,当vc5402dsp准备发送数据时,置nhint信号为低;c51查询到nlntl为低时,调用接收数据子程序来实现数据的接收。 c51与vc5402的并行连接如图5所示。 主机接收和发送初始化程序(以图5连接为例): rtiteaddress:;写入vc5402存储器地址信息 clrp12 注:hbll脚在传输过程中指示当前字节为第l还是第2字节。 为方便dsp自举引导加载程序常采用将nhlnt脚直接与int2 脚相连。 图5at89c51与v05402的并行连接 s
14、etbp13;主机可读写hpla地址寄存器 clrp10;主机要求写选通hpi一8 movp0,a;写入8位地址 calldelay;等待地址写入完成 readdata:;读出vc5402存储器数据信息 setbp12 clrp13;主机可读写hpid数据寄存器 setp10;主机要求读选通hpi一8 mova,p0;读出8位数据 calldelay;等待数据读出完成 writedata:;写入vc5402存储器数据信息 setbpl2 clrp13;主机可读写hpid数据寄存器 clrp10;主机要求写选通hpi一8 movp0,a;写入8位数据 calldelay;等待数据写入完成 不管是串行连接还是并行连接,都要考虑到vc5402是采用33v供电,c51采用5v供电。两者之间存在信号电平的差异而不能直接相连,应互连接口隔离器件。 结语 在sci串行通信调试中,发现由于ds
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省景宁畲族自治县2025年上半年事业单位公开遴选试题含答案分析
- 农业种植:科学与艺术
- 闽教版英语五年级下册unit4
- 河北省深泽县2025年上半年公开招聘城市协管员试题含答案分析
- 河北省曲阳县2025年上半年公开招聘村务工作者试题含答案分析
- 河北省临漳县2025年上半年公开招聘城市协管员试题含答案分析
- 2025版认缴制下旅游文化股份转让合作协议
- 2025版城市综合体日常保洁与商业环境维护合同
- 2025年度健身房店铺转让与健身设备租赁合同
- 2025年度酒店行业客户售后服务协议范本
- 生产安全事故应急预案评估报告
- 人教版(2024)七年级下册英语各单元必会重点短语和句型默写版(含答案)
- 劳动合同标准合同(2025年版)
- 测量不确定度评定第2部分基础知识
- 输液反应应急预案及流程
- T-CDAA 003-2024 大数据应用平台 数据服务运营管理技术要求
- 针灸理疗院感风险评估与应对措施
- 铜矿石购销合同范本
- 小学生学习与发展课件
- 在家办公申请书
- 水库巡查基本知识
评论
0/150
提交评论