www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化

目前,微控制器系統(tǒng)在國民經(jīng)濟和人民生活中得到了廣泛的運用,而數(shù)據(jù)傳輸業(yè)仍是一個很重要的領(lǐng)域。對于那些與計算機相距不遠的人——機交換設(shè)備和串行存儲的外部發(fā)備如終端、打印機、邏輯分析儀、磁盤等來說,采用串行通信方式交換數(shù)據(jù)已非常普遍。

Nios II系列嵌入式處理器使用32位的指令集結(jié)構(gòu)ISA,完全與二進制代碼兼容,它是Altera公司的第二代軟核嵌入式處理器,性能超過200DMIPS。允許設(shè)計者在很短的時間內(nèi)構(gòu)建一個完整的可編程芯片系統(tǒng),風(fēng)險和成本比中小規(guī)模的ASIC小。這種開發(fā)方式特別適合設(shè)計針對網(wǎng)絡(luò)、電信、數(shù)據(jù)通信、嵌入式和消費市場的各種嵌入式應(yīng)用。

本文基于以上這些特點,從硬件和軟件兩個方面探討了基于Cyclone II系列EP1C12Q240C8與PC的通信方案。

1 串行異步通信的硬件接口

通用異步收發(fā)器,簡稱UART,能把字符的并行代碼變換成串行代碼發(fā)送出去,而且也能把這種格式的串行代碼接收下米,并且轉(zhuǎn)換成相應(yīng)的并行代碼。串行異步通信協(xié)議中字符代碼傳輸格式如圖1所示。在沒有傳送代碼時,通信線會一直處丁邏輯1狀態(tài),而傳送時,數(shù)據(jù)兩頭必須加上起始位和停止位。起始位總是邏輯0狀態(tài)。停止位總是邏輯1狀態(tài),其持續(xù)時間可選為1位、1.5位或2位。數(shù)據(jù)的低位在前,但根據(jù)不同的編碼規(guī)則,數(shù)據(jù)可能有5位、6位、7位或8位。圖1中的校驗位可根據(jù)需要選擇奇校驗、偶校驗或不要校驗位。

1.1 UART內(nèi)核綜述

AVALON總線是一種結(jié)構(gòu)相對簡單的總線,用于連接NiosⅡ和其他外設(shè)。它規(guī)定了主從部件間的端口連接關(guān)系,以及部件間通信的時序關(guān)系。AVALON總線擁有多種傳輸模式,以適應(yīng)不同外設(shè)要求?;緜鬏斈J绞窃谥鲝耐庠O(shè)之間進行單字節(jié),半字或字的傳輸。AVALON總線還支持一些高級傳輸模式,例如支持流操作,支持延時操作, 支持多個主設(shè)備同時訪問。帶Avalon接口的UART內(nèi)核為Altera FPGA上的嵌入式系統(tǒng)合外部設(shè)備提供了串行字符流的通信方式,內(nèi)核執(zhí)行RS-232協(xié)議時序,由于大部分Altera FPGA系列上的I/O引腳不遵循RS-232電壓電平規(guī)范,如果通過RS-232連接器的信號直接與FPGA相連,可能會損害器件。為了滿足RS-232信號電平要求,在FPGA I/O腳和對應(yīng)得RS-232外部接頭間需要連接一個外部電平轉(zhuǎn)換器。UART內(nèi)核結(jié)構(gòu)框圖如圖2所示,在UART內(nèi)核和RS-232連接器之間采用Maxim公司生產(chǎn)的MAX3232型收發(fā)器。

UART發(fā)送器包括發(fā)送數(shù)據(jù)寄存器Txdata和相應(yīng)的發(fā)送移位寄存器。Avalon主控制器通過Avalon從控制器端口寫數(shù)據(jù)到發(fā)送數(shù)據(jù)寄存器。在當(dāng)前不進行串行發(fā)送移位操作時,發(fā)送移位寄存器自動從發(fā)送數(shù)據(jù)寄存器中轉(zhuǎn)入數(shù)據(jù)。發(fā)送移位寄存器直接連接到TXD輸出。數(shù)據(jù)最低有效位先從TXD移出。發(fā)送數(shù)據(jù)寄存器和發(fā)送移位寄存器提供雙重緩沖。主控制器可以在前一個字符正在移出時將新數(shù)值寫入發(fā)送數(shù)據(jù)寄存器,并可通過讀出狀態(tài)寄存器的發(fā)送準(zhǔn)備好位TRDY、發(fā)送移位寄存器空位TMT和發(fā)送溢出錯誤位TOE來監(jiān)視發(fā)送器的狀態(tài)。發(fā)送邏輯根據(jù)RS-232規(guī)范在串行TXD數(shù)據(jù)流中自動插入數(shù)量正確的起始位、校驗位和停止位。

UART接收器包括接收移位寄存器Rxdata和相應(yīng)的接收數(shù)據(jù)寄存器。Avalon主控制器通過Avalon從控制器端口讀接收數(shù)據(jù)寄存器的數(shù)據(jù)。每當(dāng)新字符完全接收后接收數(shù)據(jù)寄存器自動從接收移位寄存器裝入數(shù)據(jù)。接收移位寄存器和接收數(shù)據(jù)寄存器提供雙重緩沖。接收數(shù)據(jù)寄存器在后續(xù)字符正在移入接收移位寄存器時可以保持前面的接收字符。主控制器可通過讀狀態(tài)寄存器的接受準(zhǔn)備好位RRDY、接收溢出錯誤位ROE、間斷檢測位BRK、校驗錯誤位PE和幀錯誤FE位來監(jiān)控接收器的狀態(tài)。接收邏輯根據(jù)RS-232規(guī)范在串行RXD數(shù)據(jù)流中自動檢測數(shù)量正確的起始位、停止位和校驗位。接收邏輯檢查接收數(shù)據(jù)中的4種異常隋況,并設(shè)置對應(yīng)的狀態(tài)寄存器位。

UART內(nèi)核的內(nèi)部波特率時鐘來源于Avalon時鐘輸入,內(nèi)部波特率時鐘通過時鐘分頻器生成,除數(shù)值可以由系統(tǒng)指定,也可以由其寄存器中存器的16位值來決定,波特率和除數(shù)值之間的關(guān)系如下:

除數(shù)=int((時鐘頻率)/(波特率)+0.5)
波特牢=(時鐘頻率)/(除數(shù)+1)

1.2 UART內(nèi)核的寄存器描述

接收寄存器Rxdata保存接收到的數(shù)據(jù)。新字符由RXD輸入,完全接收后狀態(tài)寄存器的接收準(zhǔn)備好RRDY位置1。當(dāng)從接收數(shù)據(jù)寄存器讀取數(shù)據(jù)后,狀態(tài)寄存器RRDY位清零。若RRDY位為1時,又有字符輸入,則發(fā)生溢出錯誤,狀態(tài)寄存器的接收溢出錯誤ROE位置1。不管前一個字符是否被讀出,新字符總是傳到接收數(shù)據(jù)寄存器。

發(fā)送寄存器Txdata上的字符數(shù)據(jù)由Avalon主控制器發(fā)送,當(dāng)將字符寫入發(fā)送寄存器時,發(fā)送準(zhǔn)備好TRDY位為0;當(dāng)將字符從發(fā)送數(shù)據(jù)寄存器傳輸?shù)桨l(fā)送移位寄存器時,TRDY位置1。如果在TRDY位為0時將字符寫入發(fā)送數(shù)據(jù)寄存器,結(jié)果是未知的。

狀態(tài)寄存器Status的狀態(tài)位反映UART內(nèi)核狀態(tài)情況。每個狀態(tài)位與控制寄存器中的對應(yīng)中斷使能位相聯(lián)系。狀態(tài)寄存器可以在任何時候讀取。

控制寄存器Control由控制UART內(nèi)核操作的控制位組成,控制寄存器的每一位使能狀態(tài)寄存器中對應(yīng)位的中斷。當(dāng)狀態(tài)位及其對應(yīng)的中斷使能位為1時,UART內(nèi)核產(chǎn)生一個中斷。

除數(shù)寄存器Divisor的值用于生成波特率時鐘。

數(shù)據(jù)包結(jié)束字符Endofpacket由數(shù)據(jù)包結(jié)束符寄存其的值確定,以便可變長度的DMA傳輸。

UART內(nèi)核的寄存器映射表如表1所列。

2 串行異步通信軟件的實現(xiàn)

為了適應(yīng)系統(tǒng)不同類型的需要,UART驅(qū)動程序提供兩種方式:快速型和一般型??焖傩万?qū)動程序采用中斷驅(qū)動方式,在設(shè)備不準(zhǔn)備發(fā)送或接收數(shù)據(jù)時它允許處理器執(zhí)行其他任務(wù)。由于UART數(shù)據(jù)率相對于處理器的速率較慢,快速驅(qū)動程序可以提供系統(tǒng)的處理性能。一般型驅(qū)動程序采用查詢執(zhí)行方式,它在發(fā)送和接收每個字符前等待UART硬件的指示。

對于Nios II處理器用戶來說,Altera提供硬件抽象層HAL系統(tǒng)庫驅(qū)動程序,HAL系統(tǒng)庫API函數(shù)為Nios II處理器用戶提供訪問UART內(nèi)核的完整特性。程序設(shè)計所涉及到的API函數(shù)如下:

(1) alt_avalon_uart_init
定義:void alt_avalon_uart_init(alt_avalon_uart_dev*dev,void*base,alt_u32 irq)
功能:用于初始化UART設(shè)備

(2) alt_avalon_uart_ioctl
定義:int alt_avalon_uart_ioctl(alt_fd*fd,int req,void*arg)
功能:處理基于HAL的程序請求設(shè)備指定的操作

(3) alr_avalon_uart_irq
定義:static void alt_avalon_uart_irq(void*context,alt_u32 id)
功能:處理UART的中斷操作

(4) alt_avalon_uart_read
定義:int alt_avalon uart_read(alt_fd*fd,char*ptr,int len)
功能:從UART中讀取數(shù)據(jù)

(5) alt_avalon_uart_write
定義:int alt_avalon_uart_write(alt fd*fd,const char*ptr,int len)
功能:寫一組數(shù)據(jù)到UART

以上幾個函數(shù)完全可以滿足UART與PC之間的數(shù)據(jù)通信,需要注意的是如果一次傳輸?shù)臄?shù)據(jù)過長,必須重新設(shè)置ALT_AVALON_UART_BUF_LEN的值,以保證傳輸過程中數(shù)據(jù)的正確性。如果此值過小,則在傳輸過程中可能會造成數(shù)據(jù)的丟失。在設(shè)置輸出終端時必須指定COM1/COM2端口,建立UART與PC之間的數(shù)據(jù)通路,用來接收從UART中發(fā)出的數(shù)據(jù),同時通過這些端口從PC中發(fā)出數(shù)據(jù)到UART中。

本文所述的UART是基于Altera公司的一款主流低成本的FPGA,除了具有FPGA的優(yōu)勢之外,還因為其CPU本身是以軟核的方式實現(xiàn)的,所以整個系統(tǒng)的功能可以根據(jù)需要進行功能定制,非常靈活。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

引言 隨著數(shù)據(jù)通信需求的爆炸式增長,數(shù)據(jù)中心、高性能計算等領(lǐng)域?qū)Ω咚俦嘲逍诺赖膫鬏斔俾侍岢隽烁咭蟆?24G PAM6(6級脈沖幅度調(diào)制)技術(shù)憑借其高帶寬利用率和相對較低的實現(xiàn)復(fù)雜度,成為下一代高速背板信道的關(guān)鍵...

關(guān)鍵字: 224G PAM6 數(shù)據(jù)通信

【2025年6月19日,德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)已加入FiRa?(精準(zhǔn)測距)聯(lián)盟董事會。此舉標(biāo)志著英飛凌在推動超寬帶(U...

關(guān)鍵字: 超寬帶 數(shù)據(jù)通信 數(shù)字化

中國上海,2024年11月4日 — 安富利旗下全球電子元器件產(chǎn)品與解決方案分銷商e絡(luò)盟宣布全面擴展其工具和生產(chǎn)用品產(chǎn)品線,旨在提高工業(yè)運營的效率和性能??蛻衄F(xiàn)在可以購買來自領(lǐng)先供應(yīng)商的各種高品質(zhì)產(chǎn)品,確保其設(shè)施可以順暢運...

關(guān)鍵字: 數(shù)據(jù)通信 ESD 保護 緊固件

5G是指第五代移動通信系統(tǒng)。它們屬于移動通信標(biāo)準(zhǔn)的下一個主要階段,目前的4G網(wǎng)絡(luò)將遵從國際移動通信(IMT)于2020制定的ITU-R要求,與目前4G以下的系統(tǒng)相比.

關(guān)鍵字: 5G 數(shù)據(jù)通信 通信系統(tǒng)

隨著信息技術(shù)的飛速發(fā)展,數(shù)據(jù)通信作為連接世界的橋梁,其重要性日益凸顯。為了確保數(shù)據(jù)通信的高效、穩(wěn)定和可靠,我們需要關(guān)注一系列關(guān)鍵的技術(shù)指標(biāo)。本文將深入解析數(shù)據(jù)通信的主要技術(shù)指標(biāo),并探討其前沿發(fā)展。

關(guān)鍵字: 數(shù)據(jù)通信 數(shù)據(jù)傳輸

隨著科技的飛速發(fā)展,數(shù)據(jù)通信已成為我們生活中不可或缺的一部分。無論是在工作中傳輸文件,還是在家庭中共享數(shù)據(jù),數(shù)據(jù)通信都扮演著重要的角色。本文將介紹幾種常見的數(shù)據(jù)通信方式,并探討它們的特點和適用場景。

關(guān)鍵字: 數(shù)據(jù)通信 有線通信 無線通信

符號(symbol)。通過不同的調(diào)制方式(諸如FSK、QAM等等),可以在一個碼元符號上負(fù)載多個bit位信息。舉個例子,4QAM(即QPSK)調(diào)制的全部四種碼元符號,一種符號可以帶兩個bit的信息。

關(guān)鍵字: 數(shù)據(jù)通信 傳輸速率 FSK

數(shù)據(jù)通信是計算機與計算機或計算機與其他數(shù)據(jù)終端之間存儲、處理、傳輸和交換信息的一種通信技術(shù),是計算機技術(shù)與通信技術(shù)相結(jié)合的產(chǎn)物。

關(guān)鍵字: 數(shù)據(jù)通信 存儲 調(diào)制器

在當(dāng)今的數(shù)字世界中,無論是瀏覽網(wǎng)頁、發(fā)送電子郵件還是進行在線交易,所有這些行為的背后都依賴于一個關(guān)鍵組成部分:數(shù)據(jù)通信協(xié)議。簡而言之,數(shù)據(jù)通信協(xié)議就是定義電子設(shè)備如何交換數(shù)據(jù)的一系列規(guī)則和標(biāo)準(zhǔn)。這些協(xié)議確保信息能夠在不同...

關(guān)鍵字: 數(shù)據(jù)通信 計算機網(wǎng)絡(luò)

并行通信:是指利用多條數(shù)據(jù)傳輸線將一個資料的各位同時傳送。它的特點是傳輸速度快,適用于短距離通信,但要求通訊速率較高的應(yīng)用場合。

關(guān)鍵字: 數(shù)據(jù)通信 并行通信 串行通信
關(guān)閉