注册 登录
ET创芯网论坛(EETOP) 返回一品彩票

ee_king的个人空间 http://blog.bjh74.com/?1494617 [收藏] [复制] [分享] [RSS]

日志

七:Register Abstraction Layer(从Registers/Specification开始)

已有 278 次阅读2019-2-20 11:00 |系统分类:芯片设计

   Registers/Specification 

     连接到主处理器的硬件功能块通过存储器映射寄存器进行管理。这意味着软件地址映射中的每个位对应于硬件触发器。为了控制硬件并与之交互,软件必须读取和写入寄存器,因此使用抽象(称为硬件 - 软件接口或寄存器描述)来组织寄存器描述。
       该硬件 - 软件接口将I / O存储器映射中的地址分配给由助记符标识的寄存器。然后可以将每个寄存器分解成域,或者再次给予助记符的各个位组。域可以只是一个比特,也可以与寄存器位宽本身一样宽。每个域可以具有不同的访问属性,例如,它可以是只读,只写,读写或读取时清除。寄存器可以具有保留域,换言之,寄存器中的位未被使用但可以在设计的未来版本中使用。以下是寄存器描述示例 - 来自SPI主控DUT的控制寄存器:

      【此处省略一张表】

       对于给定的功能块,可能存在多个寄存器,并且每个寄存器将具有从块的基地址偏移的特定地址。要访问寄存器,处理器将对其地址进行读或写操作。软件工程师使用寄存器映射来确定如何编程硬件设备,他可能会使用一组define语句将寄存器名称和字段名称映射到头文件中的数值,以便他可以在更抽象的级别工作细节。例如,如果他希望在SPI主控制器中启用中断,则可以从CTRL读取,然后使用IE对该值进行“或”运算,然后将结果值写回CTRL:

spi_ctrl = reg_read(CTRL);
spi_ctrl = spi_ctrl | IE;
reg_write(CTRL, spi_ctrl);

       SPI主控制器的寄存器地址映射如下表所示。注意,控制寄存器与参考SPI主基地址来看的偏移地址为0x10。

   SPI Master Register Address Map

        【此处省略一张表

        :在SPI主控制器中,RXn和TXn寄存器实际映射到相同的硬件触发器上,在字符发送和接收期间,它们的内容会发生变化。因此,从软件接口抽象中,TX寄存器是只写的,并且RX寄存器是只读的,并且Rx内容仅在字符传输结束时有效。
       如果SPI主设备集成到更大的设计中,则SPI主设备的基地址将发生变化,软件工程师通过更新其头文件来保护自己免受该更改的影响,但底层固件代码无需更改。

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|关于我们|联系我们|ET创芯网 ( )

GMT+8, 2019-4-30 10:59 , Processed in 0.023171 second(s), 8 queries , Redis On.

Powered by X3.4

© 2001-2017

返回顶部
北京赛车平台 鼎盛彩票 大运彩票 幸运彩票 大运彩票 鼎盛彩票官网 一品彩票 秒速赛车官网 一品彩票 大运彩票