一、指令设计和地址规划
本工程采用的控制方式是串口转总线的方式,相当于可以用串口助手等上位机来进行控制,用于方便测试,后续采用SOC的话,可以将SOC中ARM引出的总线替换掉该串口总线。
该串口总线协议约定如下:
写总线 ”W AAAA BBBBBBBB” 读总线 “R AAAA”,读总线将会返回如下指令“G AAAA BBBBBBBB”
W 表示写的意思,R表示读的意思,G表示读结果返回的意思。中间由空格分开,结尾需输入回车换行。 其中AAAA 表示地址,16位BBBBBBBB表示数据,32位。
进一步的,为了区分各个模块的地址,可以引入基地址和偏移地址的方法。其中AAAA 16位地址中,高6位作为基地址,低10位作为偏移地址,因此,最多可挂载64个总线模块,每个模块最多可有1024个地址
基地址
地址 | 模块名 | 模块说明 | 备注 |
---|
0x0000 | SYS_TOP | 系统模块 | 修改日期/版本号/通用设置等 | 0x0400 | XX_TOP | | | 0x0800 | XX_TOP | | | 0x0C00 | XX_TOP | | | 0x1000 | XX_TOP | | | 0x1400 | XX_TOP | | | 0x1800 | XX_TOP | | | 0x1C00 | XX_TOP | | |
偏移地址
偏移地址 | 读写 | 有效位 | 标识 | 内容 |
---|
0x00 | R | [31:0] | | 修改日期 | 0x01 | R | [15:0] | | 版本号 | 0x02 | …… | …… | …… | …… | 0x03 | …… | …… | …… | …… | 0x04 | …… | …… | …… | …… |
写于2021年10月10日。 如需交流,QQ:172146579
|