新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 松耦合式可編程復雜SoC的設計實現(xiàn)

松耦合式可編程復雜SoC的設計實現(xiàn)

作者: 時間:2011-06-12 來源:網(wǎng)絡 收藏
AHB總線及AHB控制器

本文引用地址:http://butianyuan.cn/article/150604.htm

  AMBA總線是一種應用廣泛的層次化總線結構,有高速的AHB和低速APB之分,其中AHB是一種流水式高速總線結構,地址和數(shù)據(jù)總線相互獨立,可掛載16個Master和Slaver設備,常用來組織和連接高性能模塊,如處理器、DMA控制器、協(xié)處理器等[5~7]。AHB總線的核心是AHB控制器,主要包括仲裁器,譯碼器和多路復用器,其中仲裁器選擇AHB Master,而譯碼器選擇AHB Slave,寫數(shù)據(jù)WDATA和讀數(shù)據(jù)RDATA分開,如圖3所示。

  

AHB總線

  DMA控制器

  DMA是指設備直接對計算機存儲器進行讀寫操作的方式。這種方式下數(shù)據(jù)的讀寫無需CPU執(zhí)行指令,也不經(jīng)過CPU內(nèi)部寄存器,而是利用系統(tǒng)的數(shù)據(jù)總線直接在源地址和目的地址之間傳送數(shù)據(jù),達到極高的傳輸速率。DMA控制器一方面可以接管總線,即可以像CPU一樣視為總線的主設備,這是DMA與其它外設最根本的區(qū)別;另一方面,作為一個I/O器件,其DMA控制功能正式通過初始化編程來設置。當CPU對其寫入或讀出時,它又和其它的外設一樣成為總線的從屬設備。本文中為了DMA和AHB密切配合,即啟動DMA后大量原始數(shù)據(jù)通過AHB總線從數(shù)據(jù)存儲器進入Speed模塊,需要DMA控制器內(nèi)部包含AHB Master模塊,如圖4所示。另外需要說明的是,LEON3為了AHB上設備的plugplay需要在0xFFFFF000-0xFFFFF800地址空間添加設備信息[8~9],所以DMA 控制器和Speed協(xié)處理器亦要如此,以便LEON3的軟硬件協(xié)調(diào)一致。在C語言實現(xiàn)DMA時,向DMA的控制寄存器寫入相應的信息,即可啟動DMA傳輸,如圖5所示。

  

DMA與AHB Master的關系

  圖4 DMA與AHB Master的關系

  

啟動DMA的C代碼示意

  圖5 啟動DMA的C代碼示意

  Speed的AHB接口

  為了使Speed可以順利接收LEON3傳送過來的控制字或DMA傳送過來的原始數(shù)據(jù),需要在原有的Speed core模塊頂層添加AHB Slaver協(xié)議來接收AHB上傳送的數(shù)據(jù),以及產(chǎn)生相應波形的HDL代碼來將C程序的信息生成Speed所能識別的信號波形進入Speed模塊內(nèi)部,即從圖6中的控制字,轉(zhuǎn)化成圖7中的時序。

  

C語言描述的Speed控制字

  圖6 C語言描述的Speed控制字

  

Speed core所需的配置時序

  圖7 Speed core所需的配置時序

  同理于控制字,濾波系數(shù)和原始數(shù)據(jù)的輸入亦需要一定的HDL代碼來實現(xiàn)指令或數(shù)據(jù)向時序圖的轉(zhuǎn)化,其本質(zhì)相當于譯碼,實現(xiàn)起來難度不大,此處就不再累述。Speed處理后數(shù)據(jù)通過狀態(tài)信號(zero_flag)下降沿觸發(fā)LEON3的中斷響應,實現(xiàn)向外部存儲器的輸出,此過程和數(shù)據(jù)輸入類似。



評論


相關推薦

技術專區(qū)

關閉