您好,欢迎访问三七文档
第二章多CPU常用通信方法与结构2019/8/181北京交通大学电气工程学院---多CPU常用通信方法与结构第二章多CPU常用通信方法与结构2019/8/182多微机系统通信•大数据量和实时性已成为控制领域信号处理的一个基本特点•单处理器运算能力限制,一个大型复杂系统往往有多个处理器,处理器间要协同工作就必须交换数据•三个渊源–借鉴:多CPU组成大型计算机的并行体系结构•用开关阵列连接多台CPU、MEM—2X2阵列–采用:按标准总线制作OEM产品构成开放型系统的方法–吸取:计算机网络中使用的通信技术•控制:实时、可靠、易扩展第二章多CPU常用通信方法与结构2019/8/183三个层次•芯片级:双口RAM,FIFO,公共内存,DMA•系统级–PC机的I/O口:RS232,RS485,PIO–紧凑型总线:STD,ISA,cPCI,VME,PC104,3XBUS•网络级–Internet,Intranet–现场总线/控制网络芯片之间(CPU-CPU)的通信OEM模板之间的通信微机之间的通信片间总线模板总线现场总线第二章多CPU常用通信方法与结构2019/8/184多微机系统常用通信方法•共享存储区:都能访问的区域为中介–双口RAM;单总线;开关矩阵;总线窗口•PIO/标准并行内总线,易于实现,多采用主从方式,中断、查询–点-点;星形;主从;环形;菊花链•SIO:异步协议,主从方式,硬线联络,短距离–点-点;星形;主从–232,SPI,IIC•LAN第二章多CPU常用通信方法与结构2019/8/185多端口公用存储器结构形式•多端口公用存储器系统–多端口公用存储器–多台微处理器–多端口共用I/O•以共享存储区作为多微处理器交换数据的场所(紧耦合,速度快)–多CPU智能化仪器仪表–双机冗余控制系统–多微机动态仿真第二章多CPU常用通信方法与结构2019/8/186多cpu间共享存储区•两个处理器要交换数据则必须要有两个处理器都可以访问的共享存储体,一个处理器将数据写入存储体,而由另一处理器将数据读出,使两个处理器间可以有效地交换数据,实现数据共享•需要解决:当一个处理器给存储体写入数据后产生旗标通知另一处理器将数据取走;两个处理器访问同一存储单元可能产生的冲突。第二章多CPU常用通信方法与结构2019/8/187公用总线共享存储区结构形式•单公用总线–竞争、排队、BC仲裁;•多重公用总线–速率、可靠性提高•适用于一块模板中多CPU的应用,非标准总线第二章多CPU常用通信方法与结构2019/8/188矩阵开关式共享存储器结构形式•处理器本身总线接口简单–开关矩阵、KC复杂,Dbus、Abus、Cbus第二章多CPU常用通信方法与结构2019/8/189总线窗口共享存储区结构形式•A/B机系统:CPU、总线、专用内存、公共内存、外设•A通过虚拟地址访问B共享区:总线窗口先接通A、B两边Dbus、Cbus,由窗口实现A机虚地址到B机实地址的变换•总线窗口:系统简单时,可用逻辑电路实现;复杂时,可内含uP第二章多CPU常用通信方法与结构2019/8/1810总线窗口共享存储区系统•带简易总线窗口的双CPU系统结构第二章多CPU常用通信方法与结构2019/8/1811简易总线窗口,无地址变换CPU1要求CPU2发送数据:–CPU2把数据写入M2共享区,通过PIO2发出RDY2准备就绪–CPU1经PIO1识别RDY2,通过PIO1向总线控制逻辑发出请求通信信号CMRQ1–收到CMRQ1后,总线控制逻辑产生总线请求信号/BUSRQ2到CPU2–CPU2收到/BUSRQ2后,发出响应BUSAK2到总线控制逻辑,CPU2放弃总线–总线控制逻辑收到/BUSAK2后,产生控制信号使总线开关通,并把BUSAK2经过PIO1送CPU1–CPU1收到BUSAK2确认CPU2已放弃总线,且总线开关已通,CPU1访问M2。”数据块传送”从M2共享区到M1共享区第二章多CPU常用通信方法与结构总线开关2019/8/1812第二章多CPU常用通信方法与结构2019/8/1813•双口RAM允许两个处理器各访问一个端口,每一个处理器都可以将双口RAM看作自己的本地存储器。用双口RAM实现数据交换双口RAM的每个端口都有各自的数据、地址、控制总线硬件判优软件判优第二章多CPU常用通信方法与结构2019/8/1814•当两个处理器同时对同一地址单元操作(如同时写、或一个写一个读),双口RAM会自动产生BUSY信号表示冲突。–当一端的CPU对该存储器某地址读写时,双口RAM会将这端的BUSY置高电平,而将另一端BUSY置低电平;–当另一端的CPU要对双口RAM读写时,它会检测己端的BUSY,若为低则等待一个时钟周期再检测BUSY,直到为高电平时才能进行存储操作。–可以将BUSY信号接至处理器的READY端,使其读或写时序延长,最终读出或写入。双口RAM的硬件判优第二章多CPU常用通信方法与结构2019/8/1815•双口RAM具有两套中断逻辑,通过两个INT引脚分别连到两个CPU的中断引脚上,实现双CPU的握手•双口RAM的最高两个字节为特殊中断字节,即当CPU对这两个字节读写时,可以清除或发送中断:–当左边CPU向奇地址(IDT7005为1FFF)写操作时,双口RAM向右端口中断引脚CPU发中断;–右端CPU向奇地址读操作时,清除该中断。–当右边CPU向偶地址(1FFE)写操作时,双口RAM向左端口中断引脚CPU发中断;–左端CPU向偶地址读操作时,清除该中断。双口RAM的软件判优第二章多CPU常用通信方法与结构2019/8/1816共享存储区的分配与管理•共享存储器为多个CPU之间交换信息提供了中转空间,需要解决争用、冲突的问题–判决器法:独立于各CPU的专用单元,对要求使用共享存储器式公用总线的请求进行裁决(总线控制器、总线仲裁器)–端口控制器法:实现对共享存储器的分配与管理第二章多CPU常用通信方法与结构判决器法工作原理2019/8/1817第二章多CPU常用通信方法与结构2019/8/1818高速数字信号处理板•微机与基于DSP的数字信号处理板通过双口RAM通信例–TMS320C25—PC–IDT7132+IDT7142字扩展–IDT7133第二章多CPU常用通信方法与结构2019/8/1819双机故障自动切换系统内存A机总线B机总线开关总线时钟内存时钟CPUCPUI/OI/O通信窗口KGB(总线开关)中间缓存I/O发送终端终端•双机双工系统–双机执行同样的程序,并进行必要的进程通信-同步•双机备用系统–备用机不必同步运行,因此不设通信窗口第二章多CPU常用通信方法与结构2019/8/1820双机故障自动切换系统KGB(总线开关)•开关总线、KGB、中间缓存及控制量输出I/O不可少;•在故障状态,KGB先脱离主机,中间缓存器保持着原控制量输出值,使控制量输出不变;•KGB合到备用机上,中间缓存中存放的原主机中间结果作为备用机开工条件;•系统故障的监测方法有软件故障检测法,超时故障检测法等多种。在双机备用系统中,以中间结果作为开工条件将使备用机较快地进入正常,切换带给系统的扰动小,但比双工双机差一些。双机备用系统结构简单,程序编排容易。第二章多CPU常用通信方法与结构2019/8/1821总线切换开关KGB“单总线共享存储区结构”:开关总线==单公用总线中间缓存器==共享存储器控制量输出I/O==共享I/OA机开关优先权部件B机A机总线B机总线A机接口B机接口状态寄存器开关切换部件状态寄存器开关总线中间缓存输出电源第二章多CPU常用通信方法与结构2019/8/1822总线开关IDT74FST163212•IDT74FST163212是一种典型的总线开关芯片–S0-2是总线开关控制端;–A、B、C、D是四个总线端口,每个总线端口由12根线组成;–由S0-2控制A、B和C、D总线端口的导通或不导通。第二章多CPU常用通信方法与结构2019/8/1823用总线开关加存储器实现数据交换•对于像图像处理等需要大量交换数据的应用场合,用双口RAM或FIFO方法就不太合适。双口RAM和FIFO一般容量较小,价格昂贵:–双口RAMIDT7133:32Kbit(2kX16bit)–单向FIFOIDT7205:8KX9bit•用总线开关外加大容量存储器很适合这种大容量的数据传输。第二章多CPU常用通信方法与结构2019/8/1824多微机系统的PIO通信法•在并行内总线互连的多微机系统中,最易于实现•两种基本形式–单I/O接口:作为主机的外围设备,可采用中断、查询等方式–双I/O接口:接口芯片内部是许多三态门开关寄存器,类似于双口RAM•异步传输:每个字节间可有长短不等的间隙–串行:启停位包装–并行:握手联络线第二章多CPU常用通信方法与结构2019/8/1825多微机系统的PIO通信法•无握手联络:74HC273,274,244,245,373…•单线握手联络:Intel8212–RDY(o),接口中数据准备好–STB(I),外设数据准备好,选通接口•多线握手联络:Intel8255数据线并行接口(含数据寄存器)控制线地址线联络线数据线CPU外设第二章多CPU常用通信方法与结构2019/8/1826多微机系统的PIO通信法•多台微机经过并行I/O接口(芯片)互连,实现数据交换,大多按主从方式通信:–CPU把数据写入输出口,RDY有效–外设收妥数据后,使/STB有效–/STB后沿使RDY复原,使/INT有效,可传送下一字节。CPU并行接口外设/IOWDBUS/INTRDY/STB并行数据12345RDY/STB/INT并行数据第一字节第二字节第二章多CPU常用通信方法与结构2019/8/1827双机PIO通信的几个问题•异步传输:SIO与PIO的异同•流量控制:靠握手联络信号,“停-等”•主从方式:•网络寻址:•差错控制:•总线驱动:•高层协议:端点间进程通信-同步,会话层;代码,相互理解,表示层第二章多CPU常用通信方法与结构2019/8/1828作业•设计一个双CPU通过双口RAM进行数据交换的实验,要求:–实验目的、要求及简单的原理说明–完整详尽的实验电路图–软件流程图–实验要可操作(设备条件、可验证)–作为电子邮件附件提交,作为附件的Word文件名格式:学号-姓名-文件名–ldwang@bjtu.edu.cn第二章多CPU常用通信方法与结构2019/8/1829TMS320F2812扩展RAM256K*16位地址空间:0x080000~0x0BFFFF双口RAM(板外扩展)8K*16位地址空间:0x100000~0x101FFFA/D转换16通道12位A/D同时或顺序采样模式ADC时钟最高可配置为25MHz,最高采样带宽为12.5MSPS软件触发转换输入范围:-3V~+3V捕获单元三路捕获输入接口,可产生周期信号等电源提供±12V,±5V,3.3V,1.8V电压输入PWM输出每个事件管理器可同时产生8路PWM信号,包括6路由比较单元产生的死区可编程PWM信号和两路由通用定时器产生的独立PWM信号RS232通讯接口增强型CAN总线通讯接口与CAN2.0B标准接口完全兼容最高支持1Mbps总线通讯速率32个邮箱USB2.0通讯接口调理电路D3.3V,A3.3V,1.8V输入范围-3V~+3V转换为0~3VD0~D15RXD,TXD,RTS,CTS±12V,A3.3VPWMA(B)1~6,T1~4PWM,PDPINTA(B)CAP1~3D0~D15,A0~A12INT13,RDY,RWD0~D15,A0~A17CS2,WECRXD,CTXD光耦RW,RD,WE
本文标题:多CPU间通信技术
链接地址:https://www.777doc.com/doc-315405 .html