图2
1.3 调度台I2C总线构成
操作台控制CPU板由Philips-80C652单片机配合外围电路(如EPROM、RAM、EEPROM、译码和显示驱动电路等)构成,其P1.6- SCL、P1.7-SDA为I2C总线接口SIO1。单片机的SIO1通过MC3486/3487与主机通过RS422接口通信,SIO1与用户键板的 P87LPC764通信,最多可支持63块用户键板的通信连接。 每个用户键板均采用Philips-P87LPC764单片机控制,每块链板提供64个用户按键及128个用户键灯。P87LPC764是51LPC系列 OTP单片机,其最大特点是改进型80C51系列,增加了WDT看门狗、I2C总线、三个模拟量比较器、上电复位检测,保证I/O口驱动电流达到 20mA,运行速度为标准80C51的2倍,而且温度范围达到了工业级标准(-40℃~+85℃)。该芯片的I2C总线系统包括一个可简化软件驱动的 I2C总线硬件。除了必要总线仲裁、错误检测、时钟扩展和总线超时定时器外,包括一个一位接口,这个接口通过循环查询或中断同步软件。 采用该设计的优点在于系统扩充性强,软件功能分担:由P87LPC764进行按键扫描和LED显示处理,大大减轻了主CPU-80C652的负担;由于 P87LPC764性价比优越,比专用键盘电路更便宜,功能上也可灵活改变;键板可按需配置,只需简单的4线连接(SDA、SCL、+5V、GND)。调度台I2C总线连接示意图如图3所示。
图3
2.1 I2C总线的数据传送方式
I2C总线器件之间通信串行数据线SDA和串行时钟线SCL传送数据,交换信息。每个器件(微控制器、LCD驱动器、存储器或键盘接口)都要设置一个独特的地址码以示驱别。根据通讯要求,器件可以工作于发送或接收方式,并允许有多个设备作为主站控制总线。总线上主和从、发送和接收的关系仅取决于每次数据传送的方向。
2.2 I2C总线传输数据格式
I2C总线的数据传送格式如图4所示。 S:start信号; SLA:从机地址,也可以是通用地址; R/W:读写控制位; A:ACK响应; DATA0~DATA7:每组传送8个数据字节; S/P:下一个start或stop信号。
图4
首先发送开始(start)信号,然后传送第一个字节:高7位是从机地址,低位表示读/写(R/W)状态,“0”表示写操作,“1”表示读操作。由于 CPU之间采用无主通信或主从通信,一般只采用主发送和从接收模式,因此该位均值0表示数据发送;总线上的每个物理器件判断接收的地址与本机地址是否一致,地址一致,返回ACK,进行正常的数据传送。每个地址或数据后必须跟应答信号,当一个正常的应答信号有效时,SCL时钟为高电平,接收模块数据线 SDA置低,同时按字节传送数据,传送结束由发送端发送stop信号或下一个start信号。 从机地址由各CPU按统一原则进行分析,主机各子系统可按各自的系统号从01H开始编排,00H作为通用呼叫地址;调度台80C652地址取 01H,P87LPC764地址范围为40H~7FH,其它地址待扩充。 处理器之间采用固定8字节数据通信:DATA0、DATA1、DATA2、DATA3、DATA4、DATA5、DATA6、DATA7。 DATA0:目的地址,发送时可根据该地址确定从机地址; DATA1:源地址; DATA2:消息编码,可按需分配; DATA3~DATA7:该消息应携带的其它必要信息。 以调度台为例,80C652向P86LPC764发送LED灯显示数据:目址、源址、55H(消息编码),键地址、左灯状态、右灯状态、#0EEH、#0EEH。 目址:即P87LPC764地址、40H~7FH; 源址:即80C652地址,01H; 键地址:每片P86LPC764所处理的按键地址,00H~3FH(64键); 灯状态:即让对应灯处于灭、常亮、闪烁等状态值。