亚洲免费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通信的靈活性。

        成av免费大片黄在线观看| 黄片免费观看视频播放| 国产免费一区二区三区精品视频| 人人妻人人狠人人爽| 亚洲精品无码久久毛片| 亚欧视频无码在线观看| av网站国产主播在线| 免费看男女啪啪的视频网站| 麻豆视频在线播放观看| 中国女人内谢69xxxx免费视频| 91国视频| 热门精品一区二区三区| 白白在线视频免费观看嘛| 国产无遮挡又黄又爽在线观看| 好爽受不了了要高潮了av| 精品少妇一区二区三区四区| 香蕉视频在线观看亚洲| 免费看泡妞视频app| 日本女优中文字幕看片| 蜜臀人妻精品一区二区免费| 欧美最猛黑人xxxx| 国产精品白浆一区二小说| 福利一区二区三区视频在线| 蜜臀av毛片一区二区三区| 国产裸体xxxx视频在线播放| 国产精品99久久久精品免费观看| 国产一区二区三区探花 | 亚洲av首页在线| 国产一区二区三区美女| 中文字幕成人乱码亚洲| 国产情侣自拍一区视频| 曰批免费视频播放免费直播| 亚洲天天综合色制服丝袜在线| 亚洲av专区一区二区| 亚洲熟妇自偷自拍另欧美| 日韩国产欧美视频| 久久精品成人一区二区三区蜜臀| 邻居少妇张开腿让我爽了一夜| 亚洲人成人77777网站| 午夜视频免费观看一区二区| 国产精品视频自拍在线|