亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的RS422總線超額發(fā)送方法

        2022-10-31 07:54:26許亞星曹艷梅
        山西電子技術(shù) 2022年5期

        許亞星,門 茜,曹艷梅,王 琳

        (中國航空計(jì)算技術(shù)研究所,陜西 西安 710065)

        0 引言

        為了提高系統(tǒng)的接口負(fù)載能力,常采用FPGA+CPU架構(gòu)進(jìn)行系統(tǒng)控制。其中FPGA負(fù)責(zé)統(tǒng)一管理硬件接口,將硬件采集的數(shù)據(jù)處理后放在特定地址或空間,由CPU通過數(shù)據(jù)總線和地址總線讀取數(shù)據(jù),進(jìn)一步進(jìn)行控制處理。FPGA也可以管理多路422總線,為每一路422總線創(chuàng)建特定的硬件FIFO空間,進(jìn)行數(shù)據(jù)收發(fā)時(shí),首先將要發(fā)送的數(shù)據(jù)放在對(duì)應(yīng)的硬件FIFO中,然后統(tǒng)一進(jìn)行發(fā)送處理。當(dāng)要發(fā)送的數(shù)據(jù)量超過硬件FIFO的大小時(shí),可能會(huì)造成發(fā)送數(shù)據(jù)的丟失,進(jìn)一步造成通信故障。本文提出了一種422總線超額發(fā)送方法,即當(dāng)要發(fā)送的數(shù)據(jù)量超過FIFO大小時(shí),不用更改FIFO大小,同時(shí)保證數(shù)據(jù)發(fā)送的完整性。

        1 串口軟核介紹

        RS422是一種全雙工串行異步通信,因?yàn)闆]有統(tǒng)一參照的時(shí)鐘,通信雙方需要約定好固定的通信格式,包括通信周期、通信長度、包頭、校驗(yàn)和、波特率、校驗(yàn)方式、停止位方式等。422通信的基本單位是數(shù)據(jù)幀,數(shù)據(jù)幀包含起始位、數(shù)據(jù)位、校驗(yàn)位、停止位,如圖1所示。若干數(shù)據(jù)幀組成數(shù)據(jù)包,數(shù)據(jù)包長度和內(nèi)容按照通信協(xié)議規(guī)定,數(shù)據(jù)包構(gòu)成通信雙方單次通信的內(nèi)容[1]。

        圖1 數(shù)據(jù)幀格式

        FPGA可以管理多路422通信,將通信結(jié)果放在特定地址供CPU進(jìn)行讀寫。FPGA在內(nèi)部為每一路422搭建串口控制器軟核,通過軟核控制與外部422的通信。FPGA為CPU開放串口控制器軟核配置寄存器地址,CPU通過對(duì)寄存器進(jìn)行配置,可以實(shí)現(xiàn)與不同類型的422進(jìn)行通信[2]。串口控制器軟核控制寄存器的定義如表1所示。

        表1 串口控制器軟核控制寄存器定義

        其中,接收緩沖寄存器用于保存剛收到的數(shù)據(jù),發(fā)送保持寄存器用于保存將要發(fā)送的數(shù)據(jù)。波特率發(fā)生器是一個(gè)16位的計(jì)數(shù)器,用于生成發(fā)送器的傳輸數(shù)據(jù)速率,可通過分頻因子寄存器(DLM&DLL)對(duì)其進(jìn)行編程設(shè)置,DLL分頻因子寄存器用于設(shè)置分頻因子的低8位,DLM分頻因子寄存器用于設(shè)置分頻因子的高8位。中斷使能寄存器用于設(shè)置串行通道的中斷功能,通過置位中斷使能寄存器相應(yīng)的位可以分別使能串行通道的6個(gè)中斷源。中斷標(biāo)識(shí)寄存器用于指示當(dāng)前是否存在一個(gè)未決中斷以及這個(gè)中斷的類型。FIFO控制寄存器用來實(shí)現(xiàn)使能和清空FIFO的功能。線控制寄存器用于定義串口通訊中的數(shù)據(jù)傳輸格式,包括校驗(yàn)使能、校驗(yàn)方式、停止位個(gè)數(shù)、數(shù)據(jù)位個(gè)數(shù)等。調(diào)制解調(diào)器控制寄存器用于控制串行通道/調(diào)制解調(diào)器模式的接口信號(hào),或者用于特殊功能的輸入輸出信號(hào)。線狀態(tài)寄存器用于標(biāo)識(shí)主處理器與本控制器之間的數(shù)據(jù)傳輸狀態(tài),主機(jī)可以通過讀取線狀態(tài)寄存器得到接收和發(fā)送的情況。FIFO觸發(fā)登記寄存器用于設(shè)置接收FIFO的觸發(fā)等級(jí)[3]。

        2 軟核通信介紹

        使用軟核進(jìn)行串行通信的時(shí)候,首先需要對(duì)軟核進(jìn)行初始化,進(jìn)行初始化時(shí),按照串口控制器軟核寄存器的位定義,依次對(duì)LCR、FCR、LSR、DLL/DLM、IER、MSR、MCR進(jìn)行初始化配置。初始化配置完成后,就可以進(jìn)行讀接收操作和寫發(fā)送操作[4]。

        進(jìn)行讀接收數(shù)據(jù)操作時(shí),首先讀LSR(1)線狀態(tài)寄存器,判斷自上次接收數(shù)據(jù)是否發(fā)生了硬件FIFO溢出;然后讀LSR(0)線狀態(tài)寄存器,判斷是否接收數(shù)據(jù)準(zhǔn)備好;最后讀RBR接收緩沖寄存器或接收FIFO中的數(shù)據(jù),完成讀接收數(shù)據(jù)操作。

        進(jìn)行寫發(fā)送數(shù)據(jù)操作時(shí),首先讀LSR(5)線狀態(tài)寄存器,判斷控制器中THR或發(fā)送FIFO是否為空;然后寫數(shù)據(jù)到THR發(fā)送保持寄存器或發(fā)送FIFO中,完成寫發(fā)送數(shù)據(jù)操作[5]。

        3 超額發(fā)送方法改進(jìn)

        按照上述步驟進(jìn)行寫發(fā)送操作通信時(shí),判斷發(fā)送FIFO為空后,一次性將要發(fā)送的數(shù)據(jù)寫進(jìn)發(fā)送FIFO中,但當(dāng)要發(fā)送的數(shù)據(jù)量超過發(fā)送FIFO大小時(shí),會(huì)造成發(fā)送數(shù)據(jù)丟失,進(jìn)一步導(dǎo)致通信失敗。在不改變硬件FIFO大小的情況下,對(duì)寫操作進(jìn)行適當(dāng)改進(jìn),可以實(shí)現(xiàn)固定硬件FIFO的超額發(fā)送。

        假設(shè)硬件發(fā)送FIFO大小為128字節(jié),要發(fā)送的數(shù)據(jù)量為200字節(jié),超過硬件FIFO大小,直接寫入FIFO時(shí),會(huì)丟失128字節(jié)以外的數(shù)據(jù)。進(jìn)行寫操作時(shí),可以在第一步和第二步操作間增加一個(gè)操作,增加判斷要發(fā)送的數(shù)據(jù)是否大于128,當(dāng)發(fā)送數(shù)據(jù)小于128時(shí),可以將發(fā)送數(shù)據(jù)直接寫入硬件發(fā)送FIFO,當(dāng)發(fā)送數(shù)據(jù)大于128時(shí),可以在每次寫入發(fā)送FIFO前,都判斷一次硬件FIFO是否為空,如果為空,則寫入,如果不為空,則進(jìn)行循環(huán)等待,直至硬件FIFO有空余。

        4 結(jié)論

        用如上方法對(duì)寫發(fā)送操作進(jìn)行改進(jìn)后,經(jīng)過試驗(yàn),可以在不改變硬件發(fā)送FIFO大小的情況下,實(shí)現(xiàn)數(shù)據(jù)量大于硬件FIFO的超額發(fā)送。

        本文提出的基于FPGA串口軟核控制器的RS422超額發(fā)送方法,解決了發(fā)送數(shù)據(jù)量依賴硬件FIFO大小的問題,實(shí)現(xiàn)了不改變硬件FIFO的情況下,可以發(fā)送大于硬件FIFO大小的數(shù)據(jù)量,提高了RS422通信的靈活性。

        国产欧美va欧美va香蕉在| 少妇特殊按摩高潮不断| 亚洲中文字幕一二区精品自拍| 国产成人91久久麻豆视频| 无码少妇精品一区二区免费动态| 亚洲人成综合网站在线| 亚洲综合精品在线观看中文字幕 | 成人国产精品一区二区视频 | 国产精品国产三级农村妇女| 人妻丰满熟妇av一区二区 | 暖暖 免费 高清 日本 在线| 孩交精品xxxx视频视频| 女同性恋精品一区二区三区| 色婷婷亚洲精品综合影院| 国产a√无码专区亚洲av| 成人性生交大片免费看r| 又色又爽又黄的视频网站| 一区二区三区视频亚洲| 人妻体内射精一区二区三四| 97性视频| 国产日产免费在线视频| 午夜福利一区在线观看中文字幕| 国产在线一区二区三区av| 国产最新一区二区三区天堂| 亚洲国产中文字幕九色| 人人爽久久久噜人人看| 色悠久久久久综合欧美99| 中文字幕高清无码不卡在线| 色久悠悠婷婷综合在线| 狼人香蕉香蕉在线28 - 百度 | 亚洲色欲久久久综合网| 日本一区人妻蜜桃臀中文字幕| 久久久久九九精品影院| 免费黄色电影在线观看| 久草视频华人在线观看| 日本一区二区三区视频国产| 国产精品老熟女露脸视频| 亚洲AV秘 无码一区二区三| 久久亚洲中文字幕伊人久久大| 精品久久香蕉国产线看观看亚洲| 国产爆乳无码一区二区在线 |