引言:隨著半導(dǎo)體工藝的不斷發(fā)展,集成電路進(jìn)入了片上系統(tǒng)(System on the chip,簡稱Soc)時代。為了將不同的IP(Intellectual Property)集中到Soc中來,不同的IP供應(yīng)商設(shè)計IP時盡可能遵循標(biāo)準(zhǔn)的總線協(xié)議以保證IP集成商能夠?qū)碜圆煌?yīng)商開發(fā)的IP快速,可靠的集成到Soc中去。AMBA總線是由ARM公司提出的一種總線標(biāo)準(zhǔn),它獨(dú)立于處理器和工業(yè)技術(shù)具有高速,低功耗等特點(diǎn)。
1.AMBA總線簡介
在芯片設(shè)計中,芯片內(nèi)部總線的設(shè)計往往決定了芯片的性能,功耗與各模塊設(shè)計的復(fù)雜度。我們設(shè)計總線往往會依據(jù)兩方面的原則:一是芯片設(shè)計流程其內(nèi)在的需求;二是所針對的應(yīng)用對交換帶寬,延時,效率靈活性的需求。
AMBA總線的典型應(yīng)用是將AHB作為處理器,存儲器,DMA通道等對時間和性能要求很高的部分而使用的高速總線,而通過橋?qū)⑼庠O(shè)總線APB連接起來,如圖1所示:
2.AMBA總線的設(shè)計
2.1AHB基本結(jié)構(gòu)
AHB總線主要包括仲裁器,譯碼器,多路選擇器,虛擬主設(shè)備和缺省主設(shè)備。由于三態(tài)總線在時序方面產(chǎn)生很多問題,因此AHB采用了多路選擇器的方式,大致結(jié)構(gòu)如圖2所示:
2.2AHB及APB信號數(shù)據(jù)流
AHB總線上的地址,寫數(shù)據(jù),讀寫控制等信號由AHB主設(shè)備產(chǎn)生,當(dāng)前有效的主機(jī)由AHB仲裁器產(chǎn)生的信號指示,這個信號送給所有的AHB主機(jī),也用來控制AHBMUX_MTOS復(fù)選器并將主設(shè)備的控制信號送給從設(shè)備。當(dāng)前被選擇的從設(shè)備由譯碼器產(chǎn)生的信號指示,這個信號送給所有的AHB的從設(shè)備,也用來控制AHB_MUXSTOM復(fù)選器,將被選擇的從設(shè)備去相應(yīng)主設(shè)備的操作。
APB模塊的片選,使能,讀寫信號等,都是通過AHBTOAPBBRIDGE產(chǎn)生。被選中的APB模塊通過APB總線進(jìn)行各個寄存器的讀寫,APB模塊被配置完成之后,就進(jìn)行本模塊的數(shù)據(jù)操作。完成后,如果配置為中斷方式,則通過中斷控制器,產(chǎn)生送給ARM的中斷信號,ARM響應(yīng)中斷信號后,在中斷服務(wù)程序中,會通過APB總線讀取寄存器中的結(jié)果數(shù)據(jù),或進(jìn)行新的數(shù)據(jù)配置。
2.3總線仲裁
AHB為多主機(jī)系統(tǒng),在同一時間的時候只允許一個主機(jī)去訪問總線,因此需要仲裁器來做仲裁,下面將簡要闡述一下AHB仲裁器的機(jī)制。
當(dāng)主機(jī)想要去訪問總線時,便將自己的HBUSREQ信號給拉高,在同一時刻可能有多個主機(jī)都想要獲得總線的控制權(quán),因此仲裁器在時鐘的上升沿去采各個主機(jī)的HBUSREQ,然后決定哪個發(fā)出請求的主機(jī)有最高的權(quán)限(AMAB2.0中并沒有規(guī)定具體的算法,由設(shè)計者自己制定,通常采用固定優(yōu)先級算法與輪循法)。若主機(jī)獲得總線的控制權(quán)后,便將HGRANT信號拉高,表示由它來控制總線。先前獲得總線的主機(jī)的HGRANT信號就變低,表示它已經(jīng)失去了對總線的控制。
主機(jī)在傳輸?shù)倪^程中有可中斷與不可中斷的傳輸。若主機(jī)想進(jìn)行不可中斷的傳輸,在申請總線時,同時將HLCOK信號拉高,表示進(jìn)行的是不可中斷的傳輸。若主機(jī)進(jìn)行的是可中斷的傳輸,在傳輸?shù)倪^程中,如果有更高權(quán)限的主機(jī)發(fā)出了申請總線的命令。仲裁器可以將總線判給更高權(quán)限的主機(jī),而被打斷的主機(jī)要重新發(fā)出申請命令,等待下次獲得總線權(quán)限的時候才能完成傳輸。具體的時序?qū)⒃诤竺嫦到y(tǒng)仿真時給出。
3.系統(tǒng)仿真及FPGA的實現(xiàn)
本設(shè)計中的所有AMBA模塊,包括仲裁器,譯碼器,多路選擇器,缺省從設(shè)備,缺省主設(shè)備,AHB/APB橋均使用Verilog語言完成了RTL級編碼,并使用了Modelsim軟件對其進(jìn)行仿真。
在AHB總線上利用AMBA作為主模塊,SPI作為連在APB總線橋上的從模塊,進(jìn)行仿真。DMA通過AHB總線進(jìn)行數(shù)據(jù)傳輸操作,這包括與AHB總線相連的所有模塊,以及通過AHB總線可以訪問到的模塊,由于APB總線是通過AHBTOAPBBRIDGE,也連在APB總線上,因此DMA可以對SPI進(jìn)行操作。
在啟動DMA傳輸之前,首先配置DMA和SPI相應(yīng)的寄存器。如:傳輸次數(shù)寄存器,周期傳輸數(shù)據(jù)長度寄存器,目的地址寄存器,源地址寄存器,以及控制寄存器等。配置完后便等待SPI中斷的到來。如收到SPI發(fā)送FIFO為空產(chǎn)生的中斷,DMA便要需要往SPI發(fā)送FIFO寫數(shù)據(jù);如收到SPI接受FIFO 滿產(chǎn)生的中斷,DMA便需要從SPI的接受FIFO中讀取數(shù)據(jù)。仿真的波形如圖4所示:
?? ?? ??
打開微信“掃一掃”,打開網(wǎng)頁后點(diǎn)擊屏幕右上角分享按鈕
【本文標(biāo)簽】: 多層 pcb 多層PCB面板 沉金板 公司設(shè)備
【責(zé)任編輯】:鼎紀(jì)電子PCB??? 版權(quán)所有:http://ai-hots.com/轉(zhuǎn)載請注明出處
掃一掃更精彩!
2001-2018 深圳鼎紀(jì)電子有限公司 版權(quán)所有
粵ICP備16081348號
全國服務(wù)熱線:0755-27586790
24小時銷售熱線:18025855806|18682125228
地址:深圳市寶安區(qū)西鄉(xiāng)黃崗嶺工業(yè)區(qū)灣區(qū)人工智能產(chǎn)業(yè)園B棟605
深圳鼎紀(jì)電子有限公司:單面PCB板