CPU通过对CPLD寄存器的读写,来控制风扇PWM信号的占空比以及读出反馈的风扇转速。在一些项目中,CPU通过GPIO模拟的方式对CPLD进行选址和传送数据。这里通过Local Bus将EPLD映射到CPU的External SRAM上。这样可以通过直接对地址读写来控制EPLD。
EPLD接入Local Bus的设置过程
风扇板的主控芯片是Atmel SAM4S8C。 EBI(外部总线接口)使用需要遵循一定的规范。
a.
接线规范
地址线、数据线、片选线、读写控制线按照ATSAM4S8C芯片的要求进行连接。
b.
寄存器设置
对SMC(静态存储控制器)的多个寄存器的设置,比如:PMC、 SMC_SETUP、 SMC_PULSE、 SMC_CYCLE、 SMC_MODE等。
EBI示意图
根据片选信号(确定基地址)和寄存器的偏移地址,我们可以直接对任意一个风扇进行读写控制。
设备基地址
信号 | 寄存器 偏移地址 |
转速信号低8位 | 31H-3AH |
转速信号高4位 | 41H-4AH |
PWM控制 | 61H-6AH |