光电编码器通信:基于FPGA的高速BiSS协议设计

需积分: 0 9 下载量 60 浏览量 更新于2024-08-06 收藏 1.11MB PDF 举报
“寄存器模式-致远电子 pca9511—热插拔型i2c与smbus总线缓存器数据手册” 在电子工程中,I2C(Inter-Integrated Circuit)和SMBus(System Management Bus)是两种常见的串行通信协议,用于微控制器和其他设备之间的低速通信。PCA9511是一款热插拔型的I2C/SMBus总线缓存器,它支持高速通信,并且在系统中起到关键的接口和管理作用。 1. **读数模式** 在读数模式下,PCA9511能够以高达10 Mb/s的通信波特率工作。这种模式下,Master Access (MA)和Slave Line (SL)的帧结构是关键。MA的REQ信号的①~②时间长度必须小于timeoutSENS参数,这样才能被编码器识别为读数模式。在每个MA时钟的上升沿,SL会返回对应的数据位。考虑到实际应用中的总线延时,如长距离导线传输和接口电平转换芯片,SL的响应可能会有延迟,这可以通过调整采样时刻来避免影响通信的准确性。如果编码器在处理内部采集和转换时无法立即响应读数请求,SL会产生延迟的start位,即SL3的波形,这种情况下数据处理的延时为④~⑨时间长度。 2. **寄存器模式** 在寄存器模式下,通信波特率相对较低,通常适用于如EEPROM这类存储器的读写操作,其正常工作上限波特率为250 kbps。在这种模式下,MA的REQ位时间长度需大于timeoutSENS,以区分于读数模式。寄存器地址序列包含3位ID(编码器编号)、7位ADR(编码器地址)、1位WNR(读写标志位)和4位CRC(校验位)。CRC用于确保数据传输的正确性,通过高低占空比同步输出时钟和数据。 3. **FPGA在BiSS协议通信中的应用** BiSS(Bidirectional Serial Synchronous)协议是一种用于高速通信的协议,尤其适用于绝对位置式光电编码器。与I2C和SMBus相比,BiSS协议提供了更快的通信速度(例如,10 Mb/s),更低的误码率,更强的工业环境适应性以及更低的系统成本。一个基于FPGA(Field-Programmable Gate Array)的BiSS协议通信模块设计可以实现快速的数据读取,比如在4.2 μs内读取一次光电编码器数据,这比其他常见协议快5倍以上。这种模块通常使用Verilog HDL编写,以Cyclone I系列FPGA为基础,实验证明,该模块工作稳定,通信速度快。 PCA9511缓存器在I2C和SMBus通信中扮演了重要角色,而BiSS协议则提供了一种高效的数据传输方案,特别适用于需要高速和高精度的绝对位置测量应用。FPGA作为可编程逻辑器件,可以灵活地实现这些通信协议,以满足不同系统的需求。