最近在整scc的uart模式通讯,把串口从管脚初始化到数据的手法捋了一遍,做点记录,为了忘却的记忆。
这是一款通讯处理芯片。双核g2核,以及cpm,这两者之间通过内部DPSRAM交互。
分工是这样的,我们所写的代码,有g2核来跑,cpm来独立处理数据通讯。裁判根据什么处理通讯,速度、缓冲大小位置等?g2核把这些控制信息放在DPSRAM中,cpm据此配置信息来处理通讯信息。
以开题uart为例。大概涉及到这几步。
1、硬件管脚链接,可配置性好,参看IO配置部分,设置管脚为rx,tx等,这点dsp也有类似的功能,arm中也有,算是比较常见的功能了
2、brg波特率触发器,scc,smc,fcc的tx和rx均可以独立的绑定波特率发生器,也就发送和接收可以有不同的速率,这是不是cpld之类的常见功能。
3、scc控制器的配置
4、sccuart模式的配置,这两点配置信息位于双端口ram,其开始两个字为rbdbase和tbdbase,这是比较关键,缓冲区描述,定义缓冲区状态,长度,地址,发送和接收时G2核,这样就是所写程序主要就跟bd打交道
可以配置的内容很多,基本流程如此,详细内容参考datasheet。