基于FPGA實(shí)現的SCI接口電路IP核的設計
隨著(zhù)超大規模集成電路(Very Large Scale Integration VLSI)工藝技術(shù)的發(fā)展,芯片的規模越來(lái)越大,集成規模以摩爾定律增長(cháng)?,F場(chǎng)可編程邏輯器件(FPGA)由于兼具可編程邏輯器件的現場(chǎng)可編程的靈活性,以及門(mén)陣列器件集成度高的優(yōu)點(diǎn),在數字系統設計被廣泛采用。同時(shí),ASIC技術(shù)的不斷完善以及功能強大的EDA軟件開(kāi)發(fā)平臺的出現,使得FPGA器件在現代數字系統設計和微電子技術(shù)應用中起著(zhù)越來(lái)越重要的作用。近幾年來(lái),Xilinx等公司推出了內部嵌入存儲器、微處理器的FPGA器件,使得這種器件的應用更顯其優(yōu)越性;但在某些應用場(chǎng)合如數據采集時(shí),需要將采集到的數據傳送給PC機,然后由PC機進(jìn)行數據處理,這時(shí)就要借助單片機來(lái)完成。因此,有必要在FPGA器件中設計一種通信接口電路,以使設計的應用系統具備通信功能。由于SCI通信接口電路具有結構相對簡(jiǎn)單、易于實(shí)現等特點(diǎn),因此本文以SCI接口電路為例介紹基于FPGA器件實(shí)現的接口電路IP核的設計。
SCI接口電路結構
SCI接口端口映射
SCI的端口映射如圖1所示,共有20個(gè)端口,各端口的功能為:
圖1 SC
SCI接口結構框圖
為SCI接口內部結構框圖如圖2所示,主要包括以下單元:
圖2 SCI接口結構框圖
發(fā)送器(TX)及其控制與狀態(tài)寄存器。發(fā)送數據緩沖寄存器(TXBUF0…7)包含SCI接口要發(fā)送的數據;發(fā)送移位寄存器(TXSHF);發(fā)送狀態(tài)寄存器位(TXRDY、TXEMPT);發(fā)送控制寄存器位(TINTENA、TXENA)。
接收器(RX)及其控制與狀態(tài)寄存器。接收數據緩沖寄存器(RXBUF0…7)包含SCI接口從SCIRXD接收到的數據;接收移位寄存器(RXSHF);接收狀態(tài)寄存器位(RXRDY);接收控制寄存器位(RINTENA、RXENA)。
可編程波特率發(fā)生器。由波特率高byte寄存器和波特率低byte寄存器組成,可得到64k種不同的位傳輸速率。當系統時(shí)鐘為10MHZ時(shí),其位傳輸速率為19.07~625.0kb/s。寄存器地址譯碼器。寄存器地址譯碼器負責對ADDR0…ADDR2進(jìn)行譯碼,確保能讀/寫(xiě)SCI中相應的寄存器。其與RD和WR配合完成對SCI內部各寄存器的讀/寫(xiě)操作。
評論