日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]1 串口通信基本特點(diǎn)隨著多微機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來(lái)越顯得重要。串行通信是在一根傳輸線上一位一位地傳送信息.這根線既作數(shù)據(jù)線又作聯(lián)絡(luò)線。串行通信作為一種主要的通信方式,由于所用的傳輸線少

1 串口通信基本特點(diǎn)

隨著多微機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來(lái)越顯得重要。串行通信是在一根傳輸線上一位一位地傳送信息.這根線既作數(shù)據(jù)線又作聯(lián)絡(luò)線。串行通信作為一種主要的通信方式,由于所用的傳輸線少,并且可以借助現(xiàn)存的電話網(wǎng)進(jìn)行信息傳送,因此特別適合于遠(yuǎn)距離傳送。在串行傳輸中,通信雙方都按通信協(xié)議進(jìn)行,所謂通信協(xié)議是指通信雙方的一種約定。約定對(duì)數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、糾錯(cuò)方式以及控制字符定義等問題做出統(tǒng)一規(guī)定,通信雙方必須共同遵守。異步起止式的禎信息格式為:每禎信息由四部分組成:

a.1位起始位。

b.5~8位數(shù)據(jù)位。傳送順序是低位在前,高位在后.依次傳送。

c.一位校驗(yàn)位,也可以沒有。

d.最后是1位或是2位停止位。

FPGA(Field Pmgrammable Gate Array)現(xiàn)場(chǎng)可編程門陣列在數(shù)字電路的設(shè)計(jì)中已經(jīng)被廣泛使用。這種設(shè)計(jì)方式可以將以前需要多塊集成芯片的電路設(shè)計(jì)到一塊大模塊可編程邏輯器件中,大大減少了電路板的尺寸,增強(qiáng)了系統(tǒng)的可靠性和設(shè)計(jì)的靈活性。本文詳細(xì)介紹了已在實(shí)際項(xiàng)目中應(yīng)用的基于FPGA的串口通訊設(shè)計(jì)。

本設(shè)計(jì)分為硬件電路設(shè)計(jì)和軟件設(shè)計(jì)兩部分,最后用仿真驗(yàn)證了程序設(shè)計(jì)的正確性。

2 系統(tǒng)的硬件設(shè)計(jì)

本方案的異步串行通信的硬件接口電路圖如圖1所示,主要由四部分組成:RS-485數(shù)據(jù)發(fā)送模塊、FPGA串口模塊、MAX3223和DB9。各部分功能簡(jiǎn)述如下:

RS-485數(shù)據(jù)發(fā)送模塊是將前續(xù)電路的數(shù)據(jù)發(fā)送到FPGA,供本電路處理,亦即本電路的輸入。RS485是符合RS-485和RS-4225串口標(biāo)準(zhǔn)的低功耗半雙工收發(fā)器件,有3.3V和5V兩種,在本設(shè)計(jì)中選用了3.3V的器件SP3485。SP3485的內(nèi)部結(jié)構(gòu)示意圖如圖2所示

在本設(shè)計(jì)中。485的7腳和8腳與前端信號(hào)相連接,用于接收輸入的數(shù)據(jù)。數(shù)據(jù)格式是這樣的:一幀數(shù)據(jù)有25位,報(bào)頭是16個(gè)高電平和1個(gè)低電平,接下來(lái)是8位有效的數(shù)據(jù)。傳輸速率為700k波特率。2腳是使能端,與FPGA的I/O口相連,由FPGA提供邏輯控制信號(hào)。1腳和4腳也與FPGA相連,由FPGA對(duì)輸入數(shù)據(jù)進(jìn)行處理。


圖1異步串行通信硬件接口功能框圖


圖2 SP3485的內(nèi)部結(jié)構(gòu)示意圖

FPGA串口模塊是將由RS-485發(fā)送過來(lái)的數(shù)據(jù)進(jìn)行處理,提取出8位有效數(shù)據(jù),并按異步串口通訊的格式要求輸出到MAX3223的12腳。FPGA選用Xilinx公司的Spartan II系列xc2s50。此部分為該設(shè)計(jì)的主體。如上所述,輸入數(shù)據(jù)的傳輸速率為700k波特率。為了使FPGA能夠正確地對(duì)輸入數(shù)據(jù)進(jìn)行采樣,提高分辨率能力和抗干擾能力,采樣時(shí)鐘必須選用比波特率更高的時(shí)鐘,理論上至少是波特率時(shí)鐘的2倍。在本設(shè)計(jì)中選用4倍于波特率的時(shí)鐘,利用這種4倍于波特率的接收時(shí)鐘對(duì)串行數(shù)據(jù)流進(jìn)行檢測(cè)和定位采樣,接收器能在一個(gè)位周期內(nèi)采樣4次。如果沒有這種倍頻關(guān)系,定位采樣頻率和傳送波特率相同,則在一個(gè)位周期中,只能采樣一次,分辨率會(huì)差。比如,為了檢測(cè)起始位下降沿的出現(xiàn),在起始位的前夕采樣一次之后,下次采樣要到起始位結(jié)束前夕才進(jìn)行。而假若在這個(gè)周期期間,因某種原因恰恰使接收時(shí)鐘往后偏移了一點(diǎn)點(diǎn),就會(huì)錯(cuò)過起始位。造成整個(gè)后面位的檢測(cè)和識(shí)別錯(cuò)誤。針對(duì)本設(shè)計(jì),F(xiàn)PGA的軟件共分了三個(gè)模塊:

1.時(shí)鐘分頻模塊。模塊的功能是用來(lái)產(chǎn)生所需要的數(shù)據(jù)采集時(shí)鐘和數(shù)據(jù)傳輸時(shí)鐘。系統(tǒng)主頻是40M的。數(shù)據(jù)采集時(shí)鐘是2.8M的,發(fā)送時(shí)鐘是11.2k。

2.提取數(shù)據(jù)模塊。由RS485發(fā)送過來(lái)的數(shù)據(jù)共有25位,其中只有8位是有效數(shù)據(jù)。為了發(fā)送這8位有效數(shù)據(jù)。必須先將其提取出來(lái)。提取的辦法是這樣的:通過連續(xù)檢測(cè)到的16個(gè)高電平和一個(gè)低電平。判斷8位有效數(shù)據(jù)的到來(lái)。然后按照串行數(shù)據(jù)傳輸?shù)母袷?,在加上起始位和停止位后,將其存?chǔ)于輸出緩沖寄存器中。在這里,我們的串行數(shù)據(jù)輸出格式是這樣規(guī)定的,一位起始位,八位數(shù)據(jù)位,一位停止位,無(wú)校驗(yàn)位。

3.串行數(shù)據(jù)輸出模塊。這一模塊相對(duì)比較簡(jiǎn)單,波特率選為11.2k,模塊的功能是在移位輸出脈沖的作用下,將輸出緩沖寄存器中的數(shù)據(jù)移位輸出。

MAX3223是實(shí)現(xiàn)電平轉(zhuǎn)換的芯片。由于RS-232c是用正負(fù)電壓來(lái)表示邏輯狀態(tài)。與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計(jì)算機(jī)接口或終端的TTL器件連接,必須在RS-232與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。MAXIM公司的MAX3223是為滿足RS-232c的標(biāo)準(zhǔn)而設(shè)計(jì)的具有功耗低、波特率高、價(jià)格低等優(yōu)點(diǎn),外接電容僅為0.1uF或1uF,為雙組RS232收發(fā)器。由MAX3223的12腳輸入的數(shù)據(jù),經(jīng)過電平轉(zhuǎn)換后由8腳輸出,再經(jīng)過DB9的TxD端輸出,由PC機(jī)接收并做后續(xù)處理。

3 系統(tǒng)軟件設(shè)計(jì)

FPGA模塊是本設(shè)計(jì)的主體,使用Verilog硬件描述語(yǔ)言進(jìn)行編寫,本段代碼共有兩個(gè)子模塊,分別實(shí)現(xiàn)提取八位數(shù)據(jù)和串行數(shù)據(jù)發(fā)送的功能。

下面是verilog源代碼

module SIMO(din,clk,rst,dout_ser);

input din; //串行輸入數(shù)據(jù)

input clk; //時(shí)鐘信號(hào)

input vat; 復(fù)位信號(hào)

reg[7:0] indata_buf; //輸入緩沖寄存器,存提取的有效位

reg[9:0] dout_buf; //輸出緩沖寄存器,加了起停位

output reg dout_ser; //串行數(shù)據(jù)輸出

reg nclk; //提取八位有效數(shù)據(jù)的采樣時(shí)鐘.是4倍于波特率的時(shí)鐘

reg txclk; //發(fā)送數(shù)據(jù)時(shí)鐘。發(fā)數(shù)據(jù)取11.2k的波特率

integer bitpos=7; //當(dāng)前位

parameter s0=0,s1=1,s2=2,s3=3;

reg[2:0]state;

reg[4:0]counter; //用來(lái)計(jì)算報(bào)頭報(bào)尾中1的個(gè)數(shù)

reg tag,tag1;

reg[2:0]cnt3;

reg txdone=1'b1;//一個(gè)字節(jié)數(shù)據(jù)傳輸完畢標(biāo)志

*********提取有效數(shù)據(jù)位并按串行通訊格式裝載數(shù)據(jù)********

always@ (posedge nclk or posedge rst) begin

if(rst)

begin

state<=0;

counter<=0;

tag1=0;

tag=0;

indata_buf<=8'bz;

dout_buf<=10'bz;

bitpos=7;

cnt3<=0;

end

else case(state)

s0:begin

tag=0;//表示數(shù)據(jù)沒有裝好

if(din)

begin

counter<=counter+1;

state<=s0;

if(counter==15)//如果檢測(cè)到16個(gè)1則轉(zhuǎn)入s1狀態(tài)檢測(cè)接下來(lái)的是不是0

begin

state<=s1;

counter<=0;

end

end

else begin

counter<=0;

state<=s0;

end

end

s1:if(!din)//如果是0的話,轉(zhuǎn)入s2狀態(tài),提取八位有效數(shù)據(jù)

state<=s2;

else //否則轉(zhuǎn)到s0狀態(tài)重新檢測(cè)

state<=s0;

s2:if(cnt3==3)//是否采集四次數(shù)據(jù)

begin

cnt2<=0;

indata_buf[bitpos]<=din; //先進(jìn)來(lái)的是高位數(shù)據(jù)

bitpos=bitpos-1;

if(bitpos==-1)

begin

bitpos=7;state<=s3;end

end

else cnt3<=cnt3+1;

s3:begin

tag1=tag;

tag=1'b1; //標(biāo)志輸入寄存器滿。表明已把有用數(shù)據(jù)裝入寄存器

if(tag&&~tag1)&&txdone) //檢測(cè)到tag的上升沿以及txdone為高才把輸入緩沖數(shù)據(jù)放到輸出緩沖去

dout_buf<={1'b1,indata_buf[7:0],1'b0};//停止位,高位,低位,起始位

state<=s0;

end

endcase

end

//***********發(fā)送數(shù)據(jù)模塊

reg[3:0] state_tx=0;

always@(posedge txclk or posedge rst)

begin

if(rst)

begin

dout_ser<=1'bz;

state_tx<=0;

txdone=1;

end

else

case(state_tx)

0:begin

dout_ser<=dout_buf[0];state_tx<=state_tx+1;txdone=1'b0;end

1:begin

dout_ser<=dout_buf[1];state_tx<=state_tx+1;end

2:begin

dout_ser<=dout_buf[2];state_tx<=state_tx+1;end

3:begin

dout_ser<=dout_buf[3];state_tx<=state_tx+1;end

4:begin

dout_ser<=dout_buf[4];state_tx<=state_tx+1;end

5:begin

dout_ser<=dout_buf[5];state_tx<=state_tx+1;end

6:begin

dout_ser<=dout_buf[6];state_tx<=state_tx+1;end

7:begin

dout_ser<=dout_buf[7];state_tx<=state_tx+1;end

8:begin

dout_ser<=dout_buf[8];state_tx<=state_tx+1;end

9:begin

dout_ser<=dout_buf[9];state_tx<=state_tx+1;end

endcase

end

endmodule

注:兩個(gè)頻率信號(hào)nclk、txclk由相應(yīng)的分頻程序產(chǎn)生。由于篇幅所限未在文中列出。

FPGA模塊接收從RS-485發(fā)送過來(lái)的串行數(shù)據(jù)。25位為一個(gè)字符。數(shù)據(jù)的傳輸速率是700kbps,用四倍于波特率的速率進(jìn)行采樣,這樣可以大大降低系統(tǒng)的噪聲。數(shù)據(jù)的串行輸出波特率選為11200bps。

由輸入輸出波形圖可以看出:本段程序?qū)崿F(xiàn)了對(duì)輸入數(shù)據(jù)的有效數(shù)據(jù)位的提取,并按照一定的波特率進(jìn)行串行輸出。程序中,波特率可以根據(jù)需要通過分頻程序進(jìn)行改動(dòng)。硬件電路搭建簡(jiǎn)單,程序代碼書寫容易。數(shù)據(jù)傳輸穩(wěn)定可靠,可以滿足串口通信的要求。

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

完全無(wú)人化 —— 定義未來(lái)金標(biāo)標(biāo)準(zhǔn)的100%自動(dòng)化診斷系統(tǒng) CURECA? 將于7月28日至31日在芝加哥首次亮相。 實(shí)現(xiàn)全球診斷數(shù)據(jù)的統(tǒng) —— 設(shè)立大數(shù)據(jù)平臺(tái) S...

關(guān)鍵字: GEN 自動(dòng)化 無(wú)人值守 SE

廈門 2025年7月3日 /美通社/ -- 廈門市華師希平雙語(yǔ)學(xué)校在三年辦學(xué)歷程中取得積極進(jìn)展,教育教學(xué)工作呈現(xiàn)良好態(tài)勢(shì)。 教育教學(xué)穩(wěn)步推進(jìn) 中考表現(xiàn):2024年首屆中考總均分在全市表現(xiàn)良好;2025屆地...

關(guān)鍵字: BSP 人工智能 AI SE

與英偉達(dá)的技術(shù)合作致力加速生產(chǎn)制造的數(shù)字化轉(zhuǎn)型 舍弗勒全球工廠將通過AI解決方案的應(yīng)用加速制造工藝的革新,并提升產(chǎn)品質(zhì)量 舍弗勒憑借數(shù)十年在制造領(lǐng)域的技術(shù)積累,推動(dòng)工業(yè)元宇宙持續(xù)發(fā)展 巴黎和赫...

關(guān)鍵字: 數(shù)字化 英偉達(dá) SE NI

巴黎和首爾 2025年6月12日 /美通社/ -- 全球AI內(nèi)容創(chuàng)作先鋒SKAI Intelligence今日宣布,將于2025年巴黎VivaTech科技盛會(huì)正式發(fā)布全球首個(gè)完全基于NVIDIA Omniverse構(gòu)建...

關(guān)鍵字: AI NVIDIA SE RS

上海 2025年5月28日 /美通社/ -- 2024年12月15日,DEKRA德凱溫州低壓實(shí)驗(yàn)室正式通過沙特電力公司(SEC)的全面評(píng)估,成功入選其認(rèn)可的獨(dú)立測(cè)試實(shí)驗(yàn)室名...

關(guān)鍵字: 電力 SE 低壓電器 電力系統(tǒng)

迪拜 2025年5月23日 /美通社/ -- 5月20-22日,智能卡支付及零售展覽會(huì)(Seamless Middle East 2025)在迪拜國(guó)際展覽中心隆重舉行。作為中東地區(qū)最大規(guī)模的智能卡識(shí)別及支付展覽會(huì),本次...

關(guān)鍵字: 電子 SE 華大 安全芯片

-ENNOVI集成先進(jìn)功能與創(chuàng)新的母線密封技術(shù),賦能電動(dòng)汽車和混合動(dòng)力傳動(dòng)系統(tǒng) ENNOVI-SealTech:與傳統(tǒng)方法相比,正在申請(qǐng)專利的母線密封可防止冷卻液泄漏,提升制造效率和設(shè)計(jì)靈活性。 新加坡 202...

關(guān)鍵字: 集成 VI OV SE

-Nanoprecise推出ReKurv.ai,開啟對(duì)話式資產(chǎn)智能新紀(jì)元 艾伯塔省埃德蒙頓 2025年4月30日 /美通社/ -- 作為能源中心預(yù)測(cè)性維護(hù)領(lǐng)域的領(lǐng)導(dǎo)者,N...

關(guān)鍵字: CIS SE AN AI

隨著醫(yī)療信息化的快速發(fā)展,醫(yī)療數(shù)據(jù)的隱私保護(hù)問題日益凸顯。醫(yī)療數(shù)據(jù)不僅包含患者的個(gè)人敏感信息,還涉及疾病診斷、治療方案等關(guān)鍵醫(yī)療信息。一旦泄露,將對(duì)患者隱私、醫(yī)療機(jī)構(gòu)聲譽(yù)及醫(yī)療研究造成嚴(yán)重影響。因此,如何有效保護(hù)醫(yī)療數(shù)據(jù)...

關(guān)鍵字: 醫(yī)療數(shù)據(jù) TEE SE

倫敦2025年4月17日 /美通社/ -- 全球終身學(xué)習(xí)公司培生(FTSE: PSON.L)今日正式發(fā)布人工智能工具--智能課程生成器(Smart Lesson Generator),該工具可在幾秒鐘內(nèi)創(chuàng)建符合課程大綱的...

關(guān)鍵字: 人工智能 智能驅(qū)動(dòng) SE BENCHMARK
關(guān)閉