2.2 单片机控制系统
单片机控制系统主要由C8051F020单片机组成,主要完成数据的接收与处理。C8051F020的特点是运算速度快、集成度高、引脚可配置、工作稳定和可靠性高。它完全能够满足舞台吊杆控制器对存储器容量、多种总线接口、处理速度和浮点运算等方面的要求。
C8051F020单片机有UART0和UART1两个串口,其中,串口UART0与LCD显示器连接,用于把舞台吊杆运行时的位置数据送给LCD显示器。单片机利用它的SMBUS接口连接带有I2C总线接口的E2PROM(FM24C64铁片存储器),把现场数据存入存储器,以备在掉电后得新上电时能够读出吊杆的当前位置,连续控制吊杆的运动;同时利用它的普通I/O口与网卡芯片RTL8019和FPGA控制器相连,实现数据的收发。
2.3 FPGA控制器的设计
FPGA控制器是利用EDA方法实现的,主要用 于对霍尔传感器过来的脉冲进行计数并控制电机。由于吊杆运动过程中产生的脉冲频率高,FPGA控制器计数量大,所以本设计选择了高容量、高性能的可编程逻辑器件,即ALTERA公司的FLEX 10K系列FPGA。
2.3.1 FPGA控制器的模块划分
根据系统功能要坟,FPGA控制器的顶层模块被划分为以下四个模块:两个5-32译码器、八路与门模块、八路16位可逆并行计数模块、电机控制模块,如图3所示。
两个5-32译码器模块的功能是提供与单片机的接口,实现可编程接口逻辑。八路计数模块(COUNTER8_FILE_LAST模块)包括八个单路计数模块、数据转换模块等,其功能是对霍尔传感器过来的八路脉冲信号进行可逆计数并完成16位数据与8位数据之间的转换。由于C8051F020单片机的数据长度是8位,而计数模块完成的是16位坟数,所以必须进行数据位数的转换。
2.3.2 FPGA模块的功能仿真
FPGA控制器是用ALTERA公司的FLEX10K10芯片,在MAX+PLUSII软件中进行设计综合的。根据上述的模块划分,在MAX+PLUSII中的仿真波形图如图4所示。
3 舞台吊杆控制器的软件设计
舞台吊杆控制器的软件主要包括:主程序、UDP数据的传输与解析程序、串口数据的发送程序、数据存储程序等。
3.1 通信协议设计
在舞台吊杆控制系统中,远程控制端通过局域网采用UDP/IP协议给舞台吊杆控制器发送命令并接收来自控制器的数据包。UDP/IP数据包的格式如下:
在使用该协议时,命令信息和状态数据都在UDP DATA数据区。为了完成控制目的,必须对这块数据区的数据制定协议,协议格式如表1所示。
表1 协议格式