2023-09-08 18:47:13 +08:00
|
|
|
|
# 背板总线
|
|
|
|
|
|
|
|
|
|
|
|
## 用户接口
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-01-09 17:48:23 +08:00
|
|
|
|
* 数据地址线 AD 16比特位宽
|
|
|
|
|
|
|
2024-03-16 20:46:35 +08:00
|
|
|
|
* 地址锁存 ADVn 负逻辑
|
|
|
|
|
|
* 读使能 RDn 负逻辑
|
|
|
|
|
|
* 写使能 WRn 负逻辑
|
|
|
|
|
|
* 片选 CSn 负逻辑
|
2024-01-09 17:48:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用要求:地址锁存时ADV保持高至少30ns, 写入时CS,WR保持高至少30ns,读出时CS,RD保持高至少30ns方可读取数据线上数据
|
2023-09-08 18:47:13 +08:00
|
|
|
|
--------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
### 内存空间映射
|
|
|
|
|
|
|
2024-01-09 17:48:23 +08:00
|
|
|
|
* 总线上最多允许挂载64个从站,每个从站有8bits*32个下行寄存器(只写),8bits*32个上行寄存器(只读)
|
|
|
|
|
|
* 当地址线第11比特(AD[10])为低时,FSMC访问(只读或者只写)从站镜像寄存器(以8比特形式组织),
|
|
|
|
|
|
- 通过16比特写用户接口 0x00 ~ 0x1F, 可以将数据同步写入到从站0的16个下行寄存器(只写)中,后续从站地址按序分配
|
|
|
|
|
|
- 通过16比特读用户接口 0x00 ~ 0x1F, 可以将数据同步写入到从站0的16个上行寄存器(只读)中,后续从站地址按序分配
|
|
|
|
|
|
* 当地址线第11比特(AD[10])为高时,FSMC通过地址9到0比特访问(可读可写)主站寄存器全部定义为16比特
|
|
|
|
|
|
- 0x00 控制状态,
|
|
|
|
|
|
+ statusCDRErr: 第4比特,表示LVDS总线发生CDR解析错误,写1清零
|
|
|
|
|
|
+ statusCRCErr: 第3比特,表示LVDS总线发生传输CRC错误,写1清零
|
|
|
|
|
|
+ statusLinkErr: 第2比特,表示LVDS总线发生从站掉线,写1清零
|
|
|
|
|
|
+ statusSynch: 第1比特,表示LVDS总线各个从站已经同步,初始化完成时且ctrlSynch为高自动置高,手动将ctrlInit置高时自动置低
|
|
|
|
|
|
+ statusInit: 第0比特,表示LVDS总线已经初始化,初始化完成时自动置高,手动将ctrlInit置高时自动置低
|
|
|
|
|
|
- 0x01 操作寄存器
|
|
|
|
|
|
+ ctrlTransmit: 第5比特,手动写入1将触发LVDS总线传输,传输完成将自动清零
|
|
|
|
|
|
+ ctrlSynch: 第1比特,手动写入1表示初始化的同时同步所有从站
|
|
|
|
|
|
+ ctrlInit: 第0比特,手动写入1将触发LVDS总线初始化,初始化完成将自动清零
|
2023-09-08 18:47:13 +08:00
|
|
|
|
|
2024-01-09 17:48:23 +08:00
|
|
|
|
- 0x02 配置从栈数量(减一): 从站数量当前无法手动配置,初始化过程中将自动检测在线从站数量,并以该数量进行初始化,从站数量将自动写入该寄存器
|
|
|
|
|
|
- 0x03 离线位置: 当发生从站掉线,该寄存器可读出掉线从站编号
|