单片机双机并行通信中所遇问题

1 引言
本系统采用的cpld为 atmel公司生产的atf1540as器件,该器件是一种高性能、高密度复合可编程逻辑器件,简称cpld,它利用atmel 的电可擦除存储器技术,有 64个逻辑宏单元和68个i/o端口,很容易和多个ttl、ssi、msi、lsi和经典的plds组合使用。每个宏单元包括积项和积项多路选择器、 or/xor/cascade逻辑、触发器、输出选择和使能、输入逻辑阵列五个部分。atf1504as的增强选路开关增加了可用的门计数,提高了管脚锁存设计修改的成功率。
图1 双机通信框图
2 系统结构
系统的cpu采用w77e58,由atf1504as构成通信接口,系统框图如图1所示。
2.1 问题提出
电脑刺绣机为达到良好的人机界面交互功能,采用上下位机方式,下位机主要进行绣花动作的控制,上位机主要进行花样的跟踪。为了实现绣花的同时在液晶屏上进行绣花跟踪,单cpu方式存在系统资源透支, cpu处理数据将十分困难,于是提出了采用双cpu的工作方式,但同时带来一个问题—双cpu的通信问题。
2.2 解决方案
(1) 采用串行通信方式
优点:在由单片机组成的多机方式中,串行接口方式是最常用的。串行通信方式接口电路简单,可以方便实现长距离传输。抗干扰能力比较好。
缺点:传输数据慢,不适合实时数据传输。在数据传输要求高的情况下,容易造成瓶颈堵塞现象。
(2) 采用并行通信方式
优点:并行通信传输数据快,适合进行实时控制。
缺点:抗干扰能力差,不适合长距离传输,最大距离不超过5m。
由于本系统对数据传输的实时性要求比较高,并且上下位机之间的距离不超过3m,进行适当的抗干扰措施,完全可以达到系统的要求,所以确定采用并行通信方式。
2.3 具体措施
(1) 采用atf1504as(可编程逻辑器件)进行并行通信,减少分立器件所产生的杂散电容而带来的噪声干扰。
(2) 在输入数据端加斯密特电路(74ls14),将外部传输线上耦合噪声滤除掉。从而提高总线接收的抗干扰性能。
(3) 采用三态门驱动方式可以提高总线的抗干扰能力,因为三态门有三种状态输出,既所谓的低阻高电平、低阻低电平、高阻态(禁态)。由于三态门的输入具有的三态性,所以使三态门的信号源的负担减轻。有利于提高速度和抗干扰能力。
3 双cpu通信原理设计
3.1 双cpu通信原理图
从图2双cpu通信原理图中可以看出,在输入接口上都接上74ls14斯密特电路和74ls244三态门驱动器,以提高抗干扰能力。在srzb、scyx(上位机)及srzb、scyx(下位机)的握手信号线上接入74ls14斯密特电路,以提高抗干扰能力。
图2 双机通信原理图
3.2 atf1504as内部原理图
由于篇幅有限,仅列出上位机的atf1504as的内部原理图如图3,下位机的atf1504as的内部原理图与此相类似。
图3 atf1504as内部原理图
4 系统工作原理
4.1 上位机输入数据
如图3所示。在输入数据以前,通过对u1(74173)给u2(d触发器)进行初始化,即对u2的clrn端输入一上升沿的脉冲,使u2清零。此时上位机 sryx端为低电平,zdqq端为高电平。此时为接收数据做好准备。当下位机接收到上位机的sryx端输出的低电平时,就可以发送数据到锁存器中,紧接着给上位机的srzb端输出一个上升沿脉冲,u2的q端(sryx端)输出正脉冲,zdqq端经过反相器输出负脉冲。上位机在检测到zdqq端为低电平时,将数据线上的数据取出。紧接着通过对ui给u2进行进行初始化,完成对一个字节的读取,并为读取下一个字节做好准备。上位机输入数据信号波形图如图5所示。
图4 上位机输出数据时信号波形图
图5 上位机输入数据时信号波形图
4.2 上位机输出数据
如图3所示在输出数据以前,通过对u1 (74173)给u3(d触发器)进行初始化,即对u3的prn端输入一上升沿的脉冲,使u3输出置1。此时上位机的sczb端经反相器输出低电平,u3 的q端为高电平。此时为发送数据做好准备。当上位机的scyx端接收输入的上升沿脉冲时,u3的q端为低电平,当cpu检测到q端为低电平时,就可以发送数据到锁存器中,紧接着通过上位机的sczb端向下位机srzb端输出一个上升沿脉冲。表示已发送数据,接着通过对u1给u2进行进行初始化。完成对一个字节的输出,并为输出下一个字节做好准备,上位机输出数据信号波形图如图4所示。
5 软件设计
5.1 程序流程设计
图6示出输入数据流程图,图7示出输出数据流程图。
图6 输入数据流程
图7 数据输出程序流程图
5.2 部分程序清单
(1) 输入数据程序清单
org 0000h
jmp start
org 0003h
jmp reseve
start: mov tcon,#0 ;设置中断int0
mov tmod,#11h
call szsrdk ;设置输入端口
mov ie,#81h
mov ip,#1 ;开中断
..
..
..
reseve: clr ea ;开中断
push psw
push dph
push dpl
resev1: jb zdqq,resev1
;判zdqq是否为低
mov dptr,#addr0
;为u5(输入数据端口)的地址
movx a, @dptr
..
..
call szsrdk
pop dpl
pop dph
pop psw
setb ea
reti
szsrdk: clrn equ 2ch.0
clr clrn ;
mov dptr,#addr1
;为u1的地址
mov a,2ch
movx @dptr,a
setb clrn
mov a,2ch
mov dptr,#addr1
movx @dptr,a
ret
(2) 输出数据程序清单
send: mov dptr,#addr3
movx a,@dptr
jb acc.0,send
;为u3的q端输出
mov dptr,#addr4
;为u4(输出端口)的地址
movx @dptr,a
call szscdk
ret
szscdk: prn equ 2ch.1
setb prn
mov dptr,#addr1
;为u1的地址
mov a,2ch
movx @dptr,a
clr prn
mov dptr,#addr1
mov a,2ch
movx @dptr,a
ret
6 结束语
设计中采用了at1504as器件,该器件实现了硬件设计软件化,方便了硬件设计,缩短了设计周期,降低了设计成本,应用也十分方便,该系统经过采取以上措施后,以达到最初的设计要求。现产品已投放市场,市场的反映良好。

中国自动驾驶仿真蓝皮书发布 内容涵盖自动驾驶仿真测试所有领域
物联网“十二五”5000亿金矿等挖掘
比亚迪的轮边电机是什么 比亚迪的轮边电机有何优势
Innovasic以太网/IP网络接口已通过ODVA一致性测试
禾多科技:让中国汽车行业成为全球智能化标杆
单片机双机并行通信中所遇问题
软体机器人与飞驰的小型 “猎豹”
冗余是什么意思_冗余解释和意思
苹果公司将首次自主设计并生产MicroLED显示屏
中国移动表示将会持续做好4G网络优化工作确保客户上网体验
虹科干货 | TSN标准——IEEE802.1AS-2020和IEEE802.1AS-2011有哪些不同?
瑞萨电子推出新款G-SHOCK手表的主控制器
人工智能已能在“题海战术”面前得心应手
亮相2021全球智博会,Ruff南潮物联助力物联网与人工智能深度融合
买CPU送GPU的Intel可能砍掉最强核显Iris Pro
监狱/看守所安防系统拓扑结构与应用建设
Cat.1和Cat.4的区别,单声道编解码器- Codec芯片CJC8911
Arm新品发布,全面计算解决方案才是重点
智能镜子的应用可让你的浴室一秒变身家庭健康中心
红外热成像为无人机装上火眼金睛