引言:上一篇我们完成了一个内存式的从机,实现了对AXI4从机的读写测试。本周我们将实现一个简单的外设式的从机,希望能够解决一些大家的疑惑,并抛砖引玉,希望大家能够做出自己的设计~
还是老规矩,后台回复“AXI4”可以领取相关代码,链接将会保持更新。
外设式的从机本质上也是一组寄存器的读写,只不过读写寄存器对应了一些特别的动作。本期分享的从机驱动的是一个SPI通信的DA模块,型号是AD5308,8位精度8个通道,目前已经测试成功。理论上来讲在稍微修改的前提下可以兼容其他SPI设备,但是本次分享重点不在于DA芯片的驱动,因此相关内容略去,感兴趣的朋友可以查看代码。
本次分享的两部分主要内容是:
- 寄存器的读写模式
- 挂载不同时钟域外设方法
寄存器的读写模式
外设式的寄存器读写模式通常有可读可写、只读、只写几种模式。
- 可读可写:即可以对该地址的寄存器读写,但是需要注意,外设从机读出来的数值与写入的数值也不一定相同。
- 只读:仅能对该地址的寄存器进行读操作,一般用于读取存储从机状态的寄存器。
- 只写:仅能对该地址的寄存器进行写操作,一般用于配置从机的寄存器。