国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術串口校驗位的Mark/Space設置在英創主板中的應用

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-04 11:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

英創Linux主板可以通過RS485總線掛載多個單片機組成多機系統,如圖1所示,其中Linux主機作為上位機,單片機作為從機,485總線最多能掛載256個從機。系統工作的時候,每一個從機都有自己的地址(從機號),上位機首先發送從機的地址,再發送命令/數據,其發送的命令/數據可以被每一個從機接收,從機收到命令和數據后,如果地址和自己的相符,就進行應答。

圖1 Linux主機與單片機組成的多機系統

圖2 多機通信幀格式

單片機每收到一個字節都要產生中斷,在一般情況下,當Linux主機向從機1發送數據的時候,從機2、3在每一個字節都要產生中斷,不論傳輸的是地址還是數據,也不論是不是跟自己通信。當從機設備比較多、傳輸數據比較頻繁的時候,單片機的負載將大大增加,影響正常的工作。

比較通用的解決辦法是充分利用串口固定校驗位(Parity Stick)的功能,使用Mark/Space校驗位區分地址和數據,如圖2所示的多機通信幀中,發送和接收地址字節時,可以使用Mark校驗(也可以使用Space校驗),發送和接收數據字節時,使用Space校驗(也可以使用Mark校驗)。系統初始化的時候,所有的從機都設置成Mark校驗,進入等待狀態。主機發送第一個字節(addr = 從機1)的時候使用Mark校驗。這時,所有的從機都收到了addr,并通過校驗產生中斷。在從機的中斷程序中,如果addr和自己的地址相符,就將從機設置成Space校驗(從機1),否則,繼續保持Mark校驗(從機2、3)。緊接著,主機發送data1、data2的時候使用Space校驗,這時,由于從機2、3不能通過Space校驗,將不會產生中斷,只有從機1會產生中斷,應答主機。這樣就大大降低了處于等待狀態的從機2、3的中斷負載。

對Linux目前的串口驅動程序而言,在邏輯上應用程序可以先設置一次Mark校驗位,write一個地址字節,再設置一次Space校驗,接著write多個數據字節來實現多機通信。但是,兩次調用write之間可能會有較大的時間間隙,導致單片機接收數據超時,多機通信失敗。為此,英創公司專門修改了Linux串口驅動程序,在不增加新的API調用的前提下,只需要在應用程序中連續兩次設置校驗位即可使串口驅動進入ADDR_DATA_MODE模式,支持Mark/Space多機通信,并且將同一幀數據的addr、data連續發送出去(應用程序只調用一次write函數)。應用程序具體步驟如下(為方便校驗位設置,編寫了一個校驗位設置函數):

1、校驗位設置函數

intCSerial::SetParity(intparity)

{

structtermios new_opt;

intstatus;

unsignedintold_ccflag;

tcgetattr(m_fd,&new_opt);

old_ccflag = new_opt.c_cflag;

new_opt.c_cflag &= ~PARODD ;

new_opt.c_cflag &= ~CMSPAR ;

if(parity == 0)

{

//使用Space校驗 標記數據

new_opt.c_cflag |= PARENB | CS8 | CMSPAR;

}

elseif(parity == 1)

{

//使用Mark校驗 標記地址

new_opt.c_cflag |= PARENB | CS8 | CMSPAR | PARODD;

}

elseif(parity == 2)

{ //使用偶校驗

new_opt.c_cflag |= PARENB; /* Enable parity */

new_opt.c_cflag &= ~PARODD; /* 轉換為偶效驗*/

}

elseif(parity == 3)

{

//使用奇校驗

new_opt.c_cflag |= (PARODD | PARENB); /* 設置為奇效驗*/

}

else

{

new_opt.c_cflag = old_ccflag;

}

status = tcsetattr(m_fd,TCSANOW,&new_opt);

returnstatus;

}

2、主程序兩次調用校驗位設置函數,進入ADDR_DATA_MODE模式

Buf[0] = 0x39;

Buf[1] = 0xC1;

Buf[2] = 0x80;

Buf[3] = 0x1;

Buf[4] = 0x0;

//連續兩次設置校驗位,進入ADDR_DATA_MODE.

//先設置數據使用的校驗位,后設置地址使用的校驗位

m_Serial.SetParity(0); //數據使用space校驗

m_Serial.SetParity(1); //地址使用mark校驗

sleep(1);

m_Serial.WritePort( Buf, 5 );

如上程序將5個字節一起發送出去,其中Buf[0]作為地址,使用mark校驗,Buf[1-4]作為數據,使用space校驗,波形如圖3所示。所有從機收到地址后,都通過校驗位,產生中斷,但僅地址為0x39的從機會將自己的校驗位設置為0。之后Buf[1-4]僅有從機0x39能夠產生接收中斷,應答主機。

發送完這5個字節后,就退出了ADDR_DATA_MODE模式,繼續串口發送的所有字節都使用space校驗(先設置的校驗位)。如果需要其他校驗方式,可以調用SetParity()進行設置。

圖3 ADDR_DATA_MODE發送波形圖

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    88

    文章

    11760

    瀏覽量

    219033
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6107

    瀏覽量

    37077
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    產業駛入快車道,國產工控主板成自主可控關鍵支撐

    當前,我國信產業規模大幅突破,信息技術應用創新產業迎來高速發展期。發展信,早已超越單純的技術升級范疇,成為保障國家信息安全、推動經濟高質
    的頭像 發表于 03-04 14:18 ?34次閱讀
    信<b class='flag-5'>創</b>產業駛入快車道,國產工控<b class='flag-5'>主板</b>成自主可控關鍵支撐

    國產化引領丨康仕攜手龍芯打造信國產化工控全場景解決方案

    基于龍芯平臺的國產化工控產品矩陣已全面成型,全系列符合信國產化標準。 圍繞龍芯2K3000與龍芯3B6000M處理器,康仕完成覆蓋邊緣計算、智能制造、智能交通、移動加固計算等領域的全場景信產品布局
    的頭像 發表于 02-24 16:11 ?1118次閱讀
    信<b class='flag-5'>創</b>國產化引領丨<b class='flag-5'>英</b>康仕攜手龍芯打造信<b class='flag-5'>創</b>國產化工控全場景解決方案

    國產金融主板:賦能智慧金融,驅動信產業升級

    隨著信息技術的飛速迭代,信產業已在全球范圍內崛起,成為拉動經濟增長、激活創新動能的核心力量。產業的關鍵布局,智慧金融建設是重中之重
    的頭像 發表于 12-31 09:03 ?172次閱讀
    國產金融<b class='flag-5'>主板</b>:賦能智慧金融,驅動信<b class='flag-5'>創</b>產業升級

    國產芯筑基,飛騰主板賦能信未來

    信息技術自主可控成為國家戰略的今天,信產業正從“政策驅動”邁向“市場驅動”的高質量發展新階段。作為信產業鏈的核心硬件基石,主板的國產化
    的頭像 發表于 12-30 09:49 ?201次閱讀
    國產芯筑基,飛騰<b class='flag-5'>主板</b>賦能信<b class='flag-5'>創</b>未來

    UART偶校驗和奇校驗介紹

    校驗校驗位使一幀數據數據校驗位“1”的總數為奇數。 偶
    發表于 12-15 06:02

    新時代的硬核基石:龍芯工控主板助力信產業新基建

    在數字技術重塑產業格局的今天,信產業已成為保障國家信息技術安全的核心戰略。作為工業自動化系統的大腦,工控主板的自主可控程度直接決定信創新基建的穩固性。
    的頭像 發表于 11-05 13:54 ?294次閱讀

    智慧新核心,龍芯主板助力信體系再升級

    信息技術飛速發展的當下,信體系的自主可控與創新升級已成為國家戰略層面的關鍵任務。作為信產業發展的重要基礎硬件支撐,國產工控主板正發揮著
    的頭像 發表于 08-11 09:14 ?700次閱讀

    飛騰主板為信產業發展提高硬實力

    信息技術飛速發展的當下,信產業已成為我國實現科技自立自強、保障國家信息安全的關鍵領域。信,即信息技
    的頭像 發表于 07-22 18:20 ?710次閱讀

    浪潮澎湃,國產主板迎來黃金時代!

    2025年7月,表示必須在2027年底前完成信100%替代,覆蓋基礎硬件、基礎軟件等核心領域。信息技術應用創新浪潮席卷下,國產主板作為計算機系統的骨架,正從幕后走向臺前。政策加持、
    的頭像 發表于 07-21 14:00 ?502次閱讀

    芯知識|廣州唯電子語音芯片通信控制方式解析:多模式選擇與工程適配指南

    9600(可調整)支持復雜指令集:包括文件索引播放、插播、音量32級調節、循環模式設置等數據格式:起始1+數據8+停止
    的頭像 發表于 06-27 08:52 ?1648次閱讀
    芯知識|廣州唯<b class='flag-5'>創</b>電子語音芯片通信控制方式解析:多模式選擇與工程適配指南

    中星微技術斬獲2025金牛科企業獎

    6月14日,由中國證券報主辦的2025科金牛獎頒獎典禮在上海市舉行,2025科金牛獎獲獎名單現場揭曉。其中中星微技術獲得新一代信息技術金牛科
    的頭像 發表于 06-16 14:16 ?1191次閱讀

    科普|信是什么?一文讀懂“信息技術應用創新”戰略

    什么是信?信,即“信息技術應用創新”,是國家推動IT系統自主可控、安全可控的重要戰略工程。它不僅是技術層面的創新,更承載著保障國家網絡安全、推動產業升級和實現數字主權的重任。簡單來
    的頭像 發表于 06-13 10:06 ?8275次閱讀
    科普|信<b class='flag-5'>創</b>是什么?一文讀懂“<b class='flag-5'>信息技術</b>應用創新”戰略

    芯知識|廣州唯電子語音芯片UART通信協議解析:發碼長度與校驗碼計算

    一、UART通信協議概述UART(通用異步收發器)是一種廣泛應用于嵌入式系統的串行通信協議,其核心特點為無需時鐘同步,通過起始、數據校驗位和停止構成數據幀。
    的頭像 發表于 05-27 08:48 ?743次閱讀
    芯知識|廣州唯<b class='flag-5'>創</b>電子語音芯片UART通信協議解析:發碼長度與<b class='flag-5'>校驗</b>碼計算

    浪潮下,國產主板有什么新的發展機遇?

    信息技術應用創新浪潮的推動下,國產主板迎來了諸多新的發展機遇。信產業旨在實現信息技術領域的自主可控,這一戰略目標為國產
    的頭像 發表于 05-09 09:24 ?727次閱讀
    信<b class='flag-5'>創</b>浪潮下,國產<b class='flag-5'>主板</b>有什么新的發展機遇?

    韌科技推出新主控,4K隨機讀寫超120萬IOPS行業標桿

    電子發燒友網報道(文/黃山明)作為一家成立于2017年的年輕公司,韌科技自創立以來一直專注于存儲賽道,以成為全球存儲主控芯片的領軍企業為愿景。此次MemoryS 2025存儲峰會上,韌科技帶來
    的頭像 發表于 03-26 00:10 ?3450次閱讀
    <b class='flag-5'>英</b>韌科技推出新主控,4K隨機讀寫超120萬IOPS<b class='flag-5'>創</b>行業標桿