<noframes id="fbbb7">

<sub id="fbbb7"></sub>

<track id="fbbb7"></track><address id="fbbb7"></address>

      <track id="fbbb7"></track>
      <cite id="fbbb7"><th id="fbbb7"><ol id="fbbb7"></ol></th></cite>
        創作

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

        3天內不再提示

        UART自動波特率識別程序設計方案

        要長高 ? 來源:痞子衡嵌入式 ? 作者: 痞子衡 ? 2022-06-21 15:31 ? 次閱讀

        串口(UART)是嵌入式里最基礎最常用也最簡單的一種通訊(數據傳輸)方式,可以說是工程師入門通訊領域的啟蒙老師,同時串口打印也是嵌入式項目里非常經典的調試與交互方式。

        最精簡的串口僅使用兩根單向信號線:TXD、RXD,這兩根信號線是獨立工作的,因此數據收發既可分開也可同時進行,這就是所謂的全雙工。串口沒有主從機概念,并且沒有專門的時鐘信號 SCK,所以串口通信也屬于異步傳輸。

        說到異步傳輸,這就不得不提波特率(每秒鐘傳輸bit數)的問題了,通信雙方必須使用一致的波特率才能完成正確的數據傳輸。正常情況下,我們都是為兩個串口設備事先約定好波特率,比如 MCU 與上位機通信,在 MCU 程序里按 115200 的波特率去初始化 UART 外設,然后上位機串口調試助手也設置 115200 波特率,雙方再聯合工作。

        有時候,我們也希望能有一種靈活的波特率約定方式,比如建立通信前,在上位機串口調試助手里隨意設置一種波特率,然后按這個波特率發送數據,MCU 端能自動識別出這個波特率,并用識別出來的波特率去初始化 UART 外設,然后再進行后續數據傳輸,這種方式就叫自動波特率識別。痞子衡今天要分享的就是在 MCU 里實現自動波特率識別的程序設計:

        程序主頁:https://github.com/JayHeng/cortex-m-apps/tree/master/components/autobaud

        一、串口(UART)自動波特率識別程序設計

        1.1 函數接口定義

        首先是設計自動波特率識別程序頭文件:autobaud.h ,這個頭文件里直接定義如下 3 個接口函數原型。涵蓋必備的初始化流程 init()、deinit(),以及最核心的波特率識別功能 get_rate()。

        //!@brief初始化波特率識別

        void

        autobaud_init

        (

        void

        );

        //!@brief檢測波特率識別是否已完成,并獲取波特率值

        bool

        autobaud_get_rate

        (

        uint32_t

        *rate);

        //!@brief關閉波特率識別

        void

        autobaud_deinit

        (

        void

        );

        1.2 識別設計思想

        關于識別,因為上位機數據是從 RXD 引腳過來的,所以在 MCU 里需要先將 RXD 引腳配置成普通數字輸入 GPIO(這個引腳需要上拉,默認保持高電平),然后檢測這個 GPIO 的電平跳變(一般用下降沿)并計時。

        Note 1:檢測下降沿跳變,是因為 I/O 空閑為高,起始位的存在保證了每 Byte 傳輸周期總是從下降沿開始。

        Note 2:起始位和停止位兩個 bit 的存在還兼有波特率容錯的功能,通信雙方波特率在 3% 的誤差內數據傳輸均可以正常進行。

        pYYBAGKxcyuAYRlbAACIRTDIzWc687.png

        雖然我們不需要約定上位機波特率,但是要想實現波特率自動識別,上位機初始傳輸的數據卻必須要事先約定好(可理解為接頭暗號),這涉及到 MCU 里檢測電平跳變次數與相應計時計算。MCU識別完成后將暗號發回給上位機確認。

        痞子衡設計的接頭暗號是 0x5A, 0xA6 兩個字節,兩字節暗號相比單字節暗號容錯性更好一些(以防 I/O 上有干擾,導致誤識別),根據指定的暗號和 UART 傳輸時序圖,我們很容易得到如下常量定義:

        enum

        _autobaud_counts

        {

        //!0x5A字節對應的下降沿個數

        kFirstByteRequiredFallingEdges=

        4

        ,

        //!0xA6字節對應的下降沿個數

        kSecondByteRequiredFallingEdges=

        3

        ,

        //!0x5A字節(從起始位到停止位)第一個下降沿到最后一個下降沿之間的實際bit數

        kNumberOfBitsForFirstByteMeasured=

        8

        ,

        //!0xA6字節(從起始位到停止位)第一個下降沿到最后一個下降沿之間的實際bit數

        kNumberOfBitsForSecondByteMeasured=

        7

        ,

        //!兩個下降沿之間允許的最大超時(us)

        kMaximumTimeBetweenFallingEdges=

        80000

        ,

        //!對實際檢測出的波特率值做對齊處理,以便于更好地配置UART模塊

        kAutobaudStepSize=

        1200

        };

        上述常量定義里,kMaximumTimeBetweenFallingEdges 指定了兩個下降沿之間允許的最大時間間隔,超過這個時間,自動波特率程序將丟掉前面統計的下降沿個數,重頭開始識別,這個設計也是為了防止 I/O 上有電平干擾,導致誤識別。

        kAutobaudStepSize 常量是為了對檢測出的波特率值做對齊處理,公式是 rounded = stepSize * (value/stepSize + 0.5),其中 value 是實際檢測出的波特率值,rounded 是對齊后的波特率值,用對齊后的波特率值能更好地配置UART外設(這跟UART模塊里波特率發生器SBR設計有關)。

        最后就是 I/O 電平下降沿檢測方法設計,這里既可以用軟件查詢(就是循環讀取 I/O 輸入電平,比較當前值與上一次值的差異),也可以使用GPIO模塊自帶的邊沿中斷功能。推薦使用后者,一方面計時更精確,另外也不用阻塞系統。檢測到下降沿發生就調用一次如下 pin_transition_callback() 函數,在這個函數里統計跳變次數以及計時。

        //!@brief管腳下降沿跳變回調函數

        static

        void

        pin_transition_callback

        (

        void

        );

        1.3 主代碼實現

        根據上一小節描述的設計思想,我們很容易寫出下面的主代碼(autobaud_irq.c),代碼里痞子衡都做了詳細注釋。有一點要提的是關于其中系統計時。

        //!@brief使能GPIO管腳中斷

        extern

        void

        enable_autobaud_pin_irq

        (

        pin_irq_callback_t

        func);

        //!@brief關閉GPIO管腳中斷

        extern

        void

        disable_autobaud_pin_irq

        (

        void

        );

        //!

        static

        uint32_t

        s_transitionCount;

        //!

        static

        uint64_t

        s_firstByteTotalTicks;

        //!

        static

        uint64_t

        s_secondByteTotalTicks;

        //!

        static

        uint64_t

        s_lastToggleTicks;

        //!

        static

        uint64_t

        s_ticksBetweenFailure;

        void

        autobaud_init

        (

        void

        )

        {

        s_transitionCount=

        0

        ;

        s_firstByteTotalTicks=

        0

        ;

        s_secondByteTotalTicks=

        0

        ;

        s_lastToggleTicks=

        0

        ;

        //計算出下降沿之間最大超時對應計數值

        s_ticksBetweenFailure=microseconds_convert_to_ticks(kMaximumTimeBetweenFallingEdges);

        //使能GPIO管腳中斷,并注冊中斷處理回調函數

        enable_autobaud_pin_irq(pin_transition_callback);

        }

        void

        autobaud_deinit

        (

        void

        )

        {

        //關閉GPIO管腳中斷

        disable_autobaud_pin_irq();

        }

        bool

        autobaud_get_rate

        (

        uint32_t

        *rate)

        {

        if

        (s_transitionCount==(kFirstByteRequiredFallingEdges+kSecondByteRequiredFallingEdges))

        {

        //計算出實際檢測到的波特率值

        uint32_t

        calculatedBaud=

        (microseconds_get_clock()*(kNumberOfBitsForFirstByteMeasured+kNumberOfBitsForSecondByteMeasured))/

        (

        uint32_t

        )(s_firstByteTotalTicks+s_secondByteTotalTicks);

        //對實際檢測出的波特率值做對齊處理

        //公式:rounded = stepSize *(value/stepSize + .5)

        *rate=((((calculatedBaud*

        10

        )/kAutobaudStepSize)+

        5

        )/

        10

        )*kAutobaudStepSize;

        return

        true

        ;

        }

        else

        {

        return

        false

        ;

        }

        }

        void

        pin_transition_callback

        (

        void

        )

        {

        //獲取當前系統計數值

        uint64_t

        ticks=microseconds_get_ticks();

        //計數這次檢測到的下降沿

        s_transitionCount++;

        //如果本次下降沿與上次下降沿之間間隔過長,則從頭開始檢測

        uint64_t

        delta=ticks-s_lastToggleTicks;

        if

        (delta>s_ticksBetweenFailure)

        {

        s_transitionCount=

        1

        ;

        }

        switch

        (s_transitionCount)

        {

        case

        1

        :

        //0x5A字節檢測時間起點

        s_firstByteTotalTicks=ticks;

        break

        ;

        case

        kFirstByteRequiredFallingEdges:

        //得到0x5A字節檢測期間內對應計數值

        s_firstByteTotalTicks=ticks-s_firstByteTotalTicks;

        break

        ;

        case

        (kFirstByteRequiredFallingEdges+

        1

        ):

        //0xA6字節檢測時間起點

        s_secondByteTotalTicks=ticks;

        break

        ;

        case

        (kFirstByteRequiredFallingEdges+kSecondByteRequiredFallingEdges):

        //得到0xA6字節檢測期間內對應計數值

        s_secondByteTotalTicks=ticks-s_secondByteTotalTicks;

        //關閉GPIO管腳中斷

        disable_autobaud_pin_irq();

        break

        ;

        }

        //記錄本次下降沿發生時系統計數值

        s_lastToggleTicks=ticks;

        }

        二、串口(UART)自動波特率識別程序實現

        前面講的都是硬件無關設計,但最終還是要落實到具體 MCU 平臺上的,其中 GPIO 中斷部分是跟 MCU 緊相關的。我們以恩智浦 i.MXRT1011 為例來介紹硬件實現。

        2.1 管腳中斷方式實現(基于i.MXRT1011)

        恩智浦 MIMXRT1010-EVK 有板載調試器 DAPLink,這個 DAPLink 中也集成了 USB 轉串口的功能,對應的 UART 引腳是 IOMUXC_GPIO_09_LPUART1_RXD 和 IOMUXC_GPIO_10_LPUART1_TXD,我們就選用這個管腳 GPIO1[9] 做自動波特率檢測,實現代碼如下:

        BSP程序:https://github.com/JayHeng/cortex-m-apps/tree/master/apps/autobaud_imxrt1011/bsp/src/pinmux_utility.c

        typedef

        void

        (*

        pin_irq_callback_t

        )(

        void

        );

        static

        pin_irq_callback_t

        s_pin_irq_func;

        //!@briefUART引腳功能切換函數

        void

        uart_pinmux_config

        (

        bool

        setGpio)

        {

        if

        (setGpio)

        {

        IOMUXC_SetUartAutoBaudPinMode(IOMUXC_GPIO_09_GPIOMUX_IO09,GPIO1,

        9

        );

        }

        else

        {

        IOMUXC_SetUartPinMode(IOMUXC_GPIO_09_LPUART1_RXD);

        IOMUXC_SetUartPinMode(IOMUXC_GPIO_10_LPUART1_TXD);

        }

        }

        //!@brief使能GPIO管腳中斷

        void

        enable_autobaud_pin_irq

        (

        pin_irq_callback_t

        func)

        {

        s_pin_irq_func=func;

        //開啟GPIO1_9下降沿中斷

        GPIO_SetPinInterruptConfig(GPIO1,

        9

        ,kGPIO_IntFallingEdge);

        GPIO1->IMR|=(

        1U

        <

        9

        );

        NVIC_SetPriority(GPIO1_Combined_0_15_IRQn,

        1

        );

        NVIC_EnableIRQ(GPIO1_Combined_0_15_IRQn);

        }

        //!@briefGPIO中斷處理函數

        void

        GPIO1_Combined_0_15_IRQHandler

        (

        void

        )

        {

        uint32_t

        interrupt_flag=(

        1U

        <

        9

        );

        //僅當GPIO1_9中斷發生時

        if

        ((GPIO_GetPinsInterruptFlags(GPIO1)&interrupt_flag)&&s_pin_irq_func)

        {

        //執行一次回調函數

        s_pin_irq_func();

        GPIO_ClearPinsInterruptFlags(GPIO1,interrupt_flag);

        }

        }

        2.2 在MIMXRT1010-EVK上實測

        一切就緒,我們現在來實測一下,主函數流程很簡單,測試結果也表明達到了預期效果,每次將 MCU 程序復位運行后,串口調試助手里可任意設置波特率。

        int

        main

        (

        void

        )

        {

        //略去系統時鐘配置...

        //初始化定時器

        microseconds_init();

        //將GPIO1_9先配成輸入GPIO

        bool

        setGpio=

        true

        ;

        uart_pinmux_config(setGpio);

        //初始化波特率識別

        autobaud_init();

        //檢測波特率識別是否已完成,并獲取波特率值

        uint32_t

        baudrate;

        while

        (!autobaud_get_rate(&baudrate));

        //關閉波特率識別

        autobaud_deinit();

        //配置UART1引腳

        setGpio=

        false

        ;

        uart_pinmux_config(setGpio);

        //初始化UART1外設

        uint32_t

        uartClkSrcFreq=BOARD_DebugConsoleSrcFreq();

        DbgConsole_Init(

        1

        ,baudrate,kSerialPort_Uart,uartClkSrcFreq);

        PRINTF(

        "Autobaudtestsuccess\r\n"

        );

        PRINTF(

        "Detectedbaudrateis%d\r\n"

        ,baudrate);

        while

        (

        1

        );

        }

        pYYBAGKxc0aATmiiAAEJWjN4os0270.png

        至此,嵌入式里串口(UART)自動波特率識別程序設計與實現痞子衡便介紹完畢了,

        • mcu
          mcu
          +關注

          關注

          127

          文章

          9073

          瀏覽量

          324261
        • 嵌入式
          +關注

          關注

          3532

          文章

          14617

          瀏覽量

          255768
        • uart
          +關注

          關注

          20

          文章

          734

          瀏覽量

          91055
        收藏 人收藏

          評論

          相關推薦

          在Windows系統下使用CDK(類 MDK Keil)開發指南

          本文檔介紹了如何在 Windows 下使用 平頭哥半導體 開發的 CDK 集成開發環境, 來完成博流 BL702 系列 MCU 的相關軟件開...
          發表于 06-23 17:25 ? 168次 閱讀

          如何連接BL70x系列MCU的開發板呢

          硬件連接指南BL706_IOT 開發板使用 CK-Link 燒寫、調試連接方法將 CK-Link USB 接口使用合適的 USB 數據線正確...
          發表于 06-23 17:18 ? 164次 閱讀

          對BL706_MCU_SDK開發板進行開發需要準備些什么嗎

          1. 開發前的準備1.1. 硬件環境準備至少有一塊 BL702 系列 MCU 的開發板:BL706_IOT 開發板BL706_AVB 開發板BL7...
          發表于 06-23 17:07 ? 235次 閱讀

          NV080C教育設備語音芯片方案

          現代教育者,要有效利用信息技術現代化的硬件設備帶動軟件生態,建立現代化的互動課堂,從而帶動教育事業向....
          發表于 06-23 16:52 ? 11次 閱讀
          NV080C教育設備語音芯片方案

          國產32位MCU低功耗無磁水表解決方案

          我司英尚微電子介紹關于國產32位MCU無磁水表解決方案 此款國產32位MCU采用32bit ARM ....
          的頭像 潘霞 發表于 06-23 16:21 ? 156次 閱讀

          中科創達受邀參加2022德國國際嵌入式展

          當地時間6月21-23日,全球領先的操作系統產品和技術提供商中科創達攜旗下子公司創通聯達、Right....
          的頭像 科技綠洲 發表于 06-23 14:25 ? 119次 閱讀

          應對互聯世界中的通信挑戰

            使用一個低成本設備為嵌入式設計添加各種通信接口的能力可以為 OEM 提供解決方案,即為資源受限的....
          的頭像 星星科技指導員 發表于 06-23 14:12 ? 174次 閱讀
          應對互聯世界中的通信挑戰

          有方科技亮相2022德國國家嵌入式展

          當地時間6月21日,2022德國國家嵌入式展(以下簡稱嵌入式展)在紐倫堡展覽中心Hall 5正式開展....
          的頭像 有方科技 發表于 06-23 14:12 ? 144次 閱讀

          低功耗微控制器在自動噴香機的應用

          自動噴香機適用于玄關、門廊、樓梯、衛生間等需要增添清香的地點,當人體接近時,自動噴香機會噴出香水去除....
          的頭像 國芯思辰GXSC 發表于 06-23 14:12 ? 175次 閱讀

          以太網系統如何將附加功能添加到嵌入式IP核中

          另一個重要的考慮因素是,與使用軟件解決方案執行加密功能等算法相比,FPGA 的能效要高得多。
          的頭像 星星科技指導員 發表于 06-23 11:53 ? 122次 閱讀

          語音芯片在智能臺燈的應用方案

          如今市面上的臺燈種類繁多,大多數的臺燈都是用220V的交流電工作,不安全的電壓給人們帶來不安全的因素....
          發表于 06-23 11:16 ? 15次 閱讀
          語音芯片在智能臺燈的應用方案

          每日推薦 | 每周論點有獎欄目,OpenHarmony學生挑戰賽開啟

          大家好,以下為電子發燒友推薦每日好帖,歡迎留言點評討論~ 1、 推薦理由:即日起社區開始【每周論點】欄目(長期進行),以...
          發表于 06-23 10:39 ? 2684次 閱讀

          在接入網絡中遷移到以太網

            由于構建可擴展的運營商以太網網絡涉及大量基于標準的通信協議,希望降低風險和加快上市時間的設備供應....
          的頭像 星星科技指導員 發表于 06-23 10:37 ? 83次 閱讀
          在接入網絡中遷移到以太網

          tkvdb嵌入式kv數據庫

          ./oschina_soft/tkvdb.zip
          發表于 06-23 10:29 ? 8次 閱讀
          tkvdb嵌入式kv數據庫

          通過創新增強功能并延長使用壽命

            一個單獨的外圍卡可以容納多達四個 10/100/1000BASE-T 以太網通道,這些通道由一個....
          的頭像 星星科技指導員 發表于 06-23 10:28 ? 104次 閱讀
          通過創新增強功能并延長使用壽命

          基于云的M2M管理的競爭優勢

            端到端 M2M 管理服務為具有 M2M 部署的公司提供了一種可行的、經過驗證的解決方案,該解決方....
          的頭像 星星科技指導員 發表于 06-23 10:25 ? 83次 閱讀
          基于云的M2M管理的競爭優勢

          移植Arm-2D到i.MX RT1050-EVKB并繪制圖形界面

          眾所周知,i.MX RT系列是MCU中的性能強者,超高的主頻、豐富的外設以及足夠大的存儲使其能輕松應....
          的頭像 恩智浦MCU加油站 發表于 06-23 09:33 ? 92次 閱讀

          香橙派RK3399開發板OrangePi4 LTS在linux上的GPU測試說明

          1、Linux4.4 和 Linux5.10 Debian 系統 GPU 的測試說明 注意,Linux4.4 Debian10 和 Linux5.10 Debian11 系統使用的...
          發表于 06-22 20:17 ? 263次 閱讀
          香橙派RK3399開發板OrangePi4 LTS在linux上的GPU測試說明

          嵌入式虛擬化解決多操作系統的確定性問題

            嵌入式虛擬化技術已經在實時應用程序中使用了十多年,但是隨著包括越來越多 CPU 內核的處理器的出....
          的頭像 星星科技指導員 發表于 06-22 17:22 ? 231次 閱讀
          嵌入式虛擬化解決多操作系統的確定性問題

          將RISC-V融入到工業產品線開發流程中

            關鍵信息是嵌入式軟件工程師將在定義 SoC 架構,特別是編程模型和系統優化方面發揮更大的作用。開....
          的頭像 星星科技指導員 發表于 06-22 16:06 ? 165次 閱讀
          將RISC-V融入到工業產品線開發流程中

          電動工具柵極驅動器的級聯需求

          與基于 MCU 的方法相比,最佳方法是使用 SoC 開發電動工具產品線。這種架構將通過消除外部組件來....
          的頭像 要長高 發表于 06-22 15:48 ? 393次 閱讀
          電動工具柵極驅動器的級聯需求

          解鎖物聯網開發的開源硬件和軟件關鍵

            沒有人能想象物聯網技術的所有可能應用。我們致力于基于標準的開源戰略,因為我們相信它將像在許多其他....
          的頭像 星星科技指導員 發表于 06-22 14:56 ? 126次 閱讀
          解鎖物聯網開發的開源硬件和軟件關鍵

          低成本嵌入式開發套件加快設計周期

            該原型設計套件采用與面包板兼容的外形尺寸,并為應用程序開發提供了所有 48 個 I/O。該板具有....
          的頭像 星星科技指導員 發表于 06-22 14:52 ? 79次 閱讀
          低成本嵌入式開發套件加快設計周期

          上海航芯首發年度“芯”品—ACM32G103

          在會上,上海航芯市場總監孫龍凱發表了“從安全芯片到通用MCU”主題演講。圍繞著公司產品和技術布局,與....
          的頭像 科技綠洲 發表于 06-22 14:52 ? 123次 閱讀

          通用異步收發傳輸器UART詳解

          開始進行數據傳輸時發送方要先發出一個低電平’0’來表示傳輸字符的開始。因為空閑位一直是高電平所以開始....
          的頭像 硬件攻城獅 發表于 06-22 14:40 ? 77次 閱讀

          提高基于Linux的網絡連接系統的安全性

            所描述的服務和方法使用 IPv4 協議。IPv6 協議的安全配置被忽略,這使得保持啟用是不安全的....
          的頭像 星星科技指導員 發表于 06-22 14:39 ? 74次 閱讀

          通過開放平臺定制快速部署

          盡管提供的示例以物聯網應用為中心,但通用方法很好地適用于需要考慮現場可配置性和支持各種已知和未知功能....
          的頭像 星星科技指導員 發表于 06-22 14:17 ? 67次 閱讀
          通過開放平臺定制快速部署

          利用Yocto/OpenEmbedded進行嵌入式軟件部署

            更進一步,可以將元產品層合并到初始的 Yocto/OpenEmbedded 設置過程中,例如在我....
          的頭像 星星科技指導員 發表于 06-22 14:05 ? 88次 閱讀

          簡化SBC的嵌入式Linux軟件開發

            在 Eclipse 框架內,EMAC 使用交叉編譯來緩解將嵌入式開發環境從標準桌面環境中抽象出來....
          的頭像 星星科技指導員 發表于 06-22 11:48 ? 107次 閱讀
          簡化SBC的嵌入式Linux軟件開發

          工作初體驗遇到的問題

          請問: 在學校中學習使用的STM32和51單片機, 那么請問在工作中遇到不同的單片機和板子,新的外設比如can通信這些 該如何快...
          發表于 06-22 11:33 ? 783次 閱讀

          嵌入式Linux文件系統管理的工具選擇

            嵌入式 Linux 開發人員可以使用平臺映像生成器等工具獲得對構建復雜文件系統的更多控制,這使得....
          的頭像 星星科技指導員 發表于 06-22 11:15 ? 254次 閱讀
          嵌入式Linux文件系統管理的工具選擇

          在基于ARM的設計上調試Android平臺

            虛擬 ARM 開發板和工具通過強大的系統級分析工具補充了現有的 Android 開發環境。該板可....
          的頭像 星星科技指導員 發表于 06-22 11:04 ? 113次 閱讀
          在基于ARM的設計上調試Android平臺

          eheap嵌入式堆的配置

            eheap 是一種新的嵌入式堆,可以通過調整 bin 大小數組,決定是否使用 dc 以及它應該多....
          的頭像 星星科技指導員 發表于 06-22 10:51 ? 102次 閱讀
          eheap嵌入式堆的配置

          新一代聲學記憶技術的介紹

            該技術不僅僅與速度和容量有關,因為當今存儲技術的根本缺陷是使用壽命;SAW 驅動的賽道內存是納米....
          的頭像 星星科技指導員 發表于 06-22 10:41 ? 78次 閱讀
          新一代聲學記憶技術的介紹

          Imagination推出32位嵌入式解決方案IMG RTXM-2200

          Imagination Technologies宣布推出其首款實時嵌入式IMG RISC-V CPU....
          的頭像 科技綠洲 發表于 06-22 10:07 ? 183次 閱讀

          NVIDIA Jetson AGX Orin開發套件開箱

          NVIDIA 4 月份推出了新一代嵌入式開發套件JetsonAGX Orin,這是目前市場上性能強大....
          的頭像 NVIDIA英偉達企業解決方案 發表于 06-22 09:59 ? 110次 閱讀

          搭載TI Sitara AM62x系列工業級處理器的FET6254-C核心板

          6月21日,嵌入式行業知名展會Embedded World 2022在德國紐倫堡拉開帷幕。在德州儀器....
          發表于 06-22 08:59 ? 15次 閱讀

          瑞迅科技推出開源鴻蒙Openharmony開發套件

          瑞迅科技 RK3568 OpenHarmony?開發套件, 6月星品重磅上新,搭載國產化系統,顏值....
          發表于 06-21 19:01 ? 13次 閱讀
          瑞迅科技推出開源鴻蒙Openharmony開發套件

          TI推出全新無線微控制器系列 助力普及低功耗藍牙技術廣泛應用

          TI 今日在其連接產品組合中推出了全新的無線微控制器 (MCU) 系列,可實現高品質、低功耗的藍牙連....
          的頭像 科技綠洲 發表于 06-21 17:29 ? 273次 閱讀

          在flash控制器中如何去確定delay\_ctrl的具體值呢

          在《delayline設計demo》一文中,我們知道delayline的具體delay值是通過其輸入端口delay\_ctrl來調節檔位決定的。這個delay\_ctr...
          發表于 06-21 17:12 ? 1431次 閱讀

          基于NV040D語音芯片的智能血壓計方案

          高血壓等高發疾病的受害人群主要集中在50歲以上的高齡人群中,然而這部分人群在使用傳統血壓計時大部分都....
          發表于 06-21 16:51 ? 19次 閱讀
          基于NV040D語音芯片的智能血壓計方案

          改進VPI和PyTorch之間的互操作性

            創建一個名為PyTorchDetection的類來處理所有 PyTorch 對象和調用。創建此類....
          的頭像 星星科技指導員 發表于 06-21 16:47 ? 211次 閱讀
          改進VPI和PyTorch之間的互操作性

          關于UART的幀格式含義

          UART是異步傳輸,以1個字符為傳輸單位,傳輸2個字符之間的時間間隔,比如傳輸0X33后再傳輸0X3....
          的頭像 要長高 發表于 06-21 16:02 ? 355次 閱讀
          關于UART的幀格式含義

          什么是UART,UART協議的三條信號線

          數據位:可以選擇的值有5,6,7,8這四個值,可以傳輸這么多個值為0或者1的bit位。這個參數最好為....
          的頭像 要長高 發表于 06-21 15:49 ? 385次 閱讀
          什么是UART,UART協議的三條信號線

          3毛錢的國產單片機C10S010

          l 35條精簡指令集l 1K 程序 FLASH 存儲空間l 256x8b 數據 EEPROMl 數據 EEPROM 可在應用編程l 64x8b SRAM...
          發表于 06-21 15:12 ? 2232次 閱讀
          3毛錢的國產單片機C10S010

          基于武漢芯源半導體CW32的無刷電機訓練營正式結營!

          2022年6月16日,由武漢芯源半導體&嘉立創EDA&創芯工坊科技(深圳)聯合舉辦的,基于武漢芯源半導體的CW32F030C8T6制作BL...
          發表于 06-21 15:04 ? 677次 閱讀
          基于武漢芯源半導體CW32的無刷電機訓練營正式結營!

          靈動微電子生態系統入選“Top 50國產MCU廠商”榜單

          靈動微電子受邀參加了由 Aspencore 主辦的“全球MCU生態發展大會”,會上靈動應用開發總監金....
          的頭像 科技綠洲 發表于 06-21 14:46 ? 372次 閱讀

          G2L系列 核心板 -RZ/G2L 處理器簡介|框架圖|功耗|原理圖及硬件設計指南

          RZ/G2L是瑞薩在智能工控領域的一款高性能、超高效處理器。RZ/G2L采用Arm Cortex-A55內核,運行頻率高達1.2GHz,內部...
          發表于 06-21 14:45 ? 535次 閱讀

          嵌入式人機界面符合工廠中消費者的技術期望

            雖然在某些情況下仍需要操作員在車間工作,但與本地控制器和 HMI 通信的遠程 HMI 設備的普及....
          的頭像 星星科技指導員 發表于 06-21 14:24 ? 117次 閱讀

          通過電子測量、控制和通信實現智能電網

            軟件框架、工具和參考設計也有助于加快和簡化開發。擁有來自模塊供應商的現成硬件和軟件工具可以加快產....
          的頭像 星星科技指導員 發表于 06-21 14:19 ? 146次 閱讀
          通過電子測量、控制和通信實現智能電網

          TI推出全新低功耗Bluetooth無線微控制器CC2340系列

          TI 今日在其連接產品組合中推出了全新的無線微控制器 (MCU) 系列,可實現高品質、低功耗的藍牙連....
          的頭像 德州儀器 發表于 06-21 14:16 ? 269次 閱讀

          射頻與混合信號設計的藝術與科學

            超低功耗無線 MCU 的普及對于物聯網的發展至關重要。無線 MCU 為物聯網節點提供大腦、傳感和....
          的頭像 星星科技指導員 發表于 06-21 14:15 ? 174次 閱讀
          射頻與混合信號設計的藝術與科學

          選擇版本控制系統的7個步驟

            總之,更改版本管理系統似乎令人生畏和復雜,但通過遵循一些簡單的“最佳實踐”步驟,這意味著嵌入式計....
          的頭像 星星科技指導員 發表于 06-21 14:12 ? 135次 閱讀

          WLAN網絡幫助自動化訂單揀選過程

            持續的流程改進要求以具有成本效益的方式來解決棘手的供應鏈管理問題。安全和強大的 WLAN 網絡正....
          的頭像 星星科技指導員 發表于 06-21 11:27 ? 166次 閱讀

          對比精靈和GPU及HMI建模方法

            基于模型的開發,尤其是與圖形代碼生成器配合使用時,可以靈活地創建一次圖形模型,然后為多個圖形平臺....
          的頭像 星星科技指導員 發表于 06-21 11:22 ? 149次 閱讀
          對比精靈和GPU及HMI建模方法

          圖形用戶界面的協作工作的應用

            Crank Software 的 Storyboard Suite 通過創建一個可供所有利益相關....
          的頭像 星星科技指導員 發表于 06-21 11:10 ? 144次 閱讀
          圖形用戶界面的協作工作的應用

          提高微控制器時鐘系統的靈活性

            低于 100 nA 的極低功耗嵌入式振蕩器可用于低功耗、非精確、無晶體時鐘應用。更精確的低功耗嵌....
          的頭像 星星科技指導員 發表于 06-21 10:31 ? 158次 閱讀
          提高微控制器時鐘系統的靈活性

          嵌入式虛擬化支持多核實時應用程序的可擴展性

            無論實時應用程序分布在同一多核芯片上的 CPU 之間,還是網絡在一起的不同微處理器組件上的不同 ....
          的頭像 星星科技指導員 發表于 06-21 10:29 ? 152次 閱讀
          嵌入式虛擬化支持多核實時應用程序的可擴展性

          嵌入式系統開發中的靜態分析

            MISRA C++ 也不會停滯不前。如您所知,MISRA C++ 的最后一個標準可以追溯到 20....
          的頭像 星星科技指導員 發表于 06-21 10:04 ? 118次 閱讀

          TMS320F28076 TMS320F2807x Piccolo 微控制器

          C2000?32位微控制器在處理,傳感和驅動方面進行了優化,可提高實時控制應用中的閉環性能,例如工業電機驅動,光伏逆變器和數字電源,電動車輛與運輸,電機控制以及傳感和信號處理.C2000產品線包括Delfino?高端性能系列和Piccolo?入門級性能系列。 TMS320F2807x微控制器平臺屬于Piccolo?系列,適用于高級閉環控制應用,例如工業電機驅動,光伏逆變器和數字電源,電動車輛與運輸以及傳感和信號處理。數字電源和工業驅動器的完整開發包作為powerSUITE和DesignDRIVE方案的一部分提供。 F2807x是基于TI行業領先的C28x內核的32位浮點微控制器。此內核的性能通過三角運算硬件加速器得到了提升,該加速器利用CPU指令(如正弦,余弦和反正切函數)提高了轉矩環路和位置計算中常見的基于三角運算的算法性能。 F2807x微控制器系列采用一個CLA實時控制協處理器.CLA是一款獨立的32位浮點處理器,運行速度與主CPU相同。該CLA會對外設觸發器作響響應,并與主C28x CPU同時執行代碼。這種并行處理功能可有效加倍實時控制系統的計算性能。通過利用CLA執行時間關鍵型功能,主C28x CPU可以得到釋放,以便用于執行通信和診斷等其...
          發表于 01-08 17:49 ? 919次 閱讀
          TMS320F28076 TMS320F2807x Piccolo 微控制器

          TL16C550C 具有 16 字節 FIFO 及自動流控制的單路 UART

          TL16C550C和TL16C550CI是TL16C550B異步通信元件(ACE)的功能升級,后者又是TL16C450的功能升級。功能上與TL16C450上電(字符或TL16C450模式)相同,TL16C550C和TL16C550CI(如TL16C550B)可以置于備用FIFO模式。這通過緩沖接收和傳輸的字符來減輕CPU過多的軟件開銷。接收器和發送器FIFO最多可存儲16個字節,包括接收器FIFO每字節的三個附加錯誤狀態位。在FIFO模式下,有一個可選擇的自動流控制功能,可以通過使用RTS \輸出和CTS \輸入信號自動控制串行數據流來顯著減少軟件過載并提高系統效率。 TL16C550C和TL16C550CI執行從外圍設備或調制解調器接收的數據的串行到并行轉換,以及從CPU接收的數據的并行到串行轉換。 CPU可以隨時讀取ACE狀態。 ACE包括完整的調制解調器控制功能和處理器中斷系統,可以對其進行定制,以最大限度地減少通信鏈路的軟件管理。 TL16C550C和TL16C550CI ACE都包含一個可編程的波特率發生器,能夠劃分參考時鐘由除數從1到65535,并為內部發送器邏輯產生16×參考時鐘。包括使用該16×時鐘作為接收器邏輯的規定。 ACE適用于1 Mbaud串...
          發表于 10-16 11:19 ? 1126次 閱讀
          TL16C550C 具有 16 字節 FIFO 及自動流控制的單路 UART

          PC16550D 具有 FIFO 的通用異步接收器/發送器

          PC16550D設備是原始16450通用異步接收器/發送器(UART)的改進版本。功能上與16450上電時相同(CHARACTER模式:也可以在軟件控制下復位到16450模式)PC16550D可以進入備用模式(FIFO模式),以減輕CPU過多的軟件開銷。 在此模式下,內部FIFO被激活,允許在接收和發送模式下存儲16個字節(RCVR FIFO中每個字節的3位錯誤數據)。所有邏輯都在芯片上以最小化系統開銷并最大化系統效率。兩個引腳功能已更改為允許發送DMA傳輸信號。 UART對從外圍設備或MODEM接收的數據字符執行串并轉換,并對數據進行并行到串行轉換從CPU接收的字符。在功能操作期間,CPU可以隨時讀取UART的完整狀態。報告的狀態信息包括UART執行的傳輸操作的類型和條件,以及任何錯誤條件(奇偶校驗,溢出,成幀或中斷中斷)。 UART包含可編程波特率能夠將定時參考時鐘輸入除以1的除數(2 16 ?? 1),并產生16×時鐘以驅動內部發送器邏輯的發生器。還包括使用該16×時鐘來驅動接收器邏輯的規定。 UART具有完整的MODEM控制功能和處理器中斷系統。中斷可以根據用戶的要求進行編程,最大限度地減少處理通信鏈路所需的計算...
          發表于 10-16 11:19 ? 703次 閱讀
          PC16550D 具有 FIFO 的通用異步接收器/發送器

          TL16C550D 具有自動流控制的異步通信元件

          TL16C550D和TL16C550DI是TL16C550C異步通信元件(ACE)的速度和工作電壓升級(但功能等同物),后者又具有功能升級TL16C450。功能上與TL16C450上電(字符或TL16C450模式)相同,TL16C550D和TL16C550DI(如TL16C550C)可以置于備用FIFO模式。這通過緩沖接收和傳輸的字符來減輕CPU過多的軟件開銷。接收器和發送器FIFO最多可存儲16個字節,包括接收器FIFO每字節的三個附加錯誤狀態位。在FIFO模式下,有一個可選擇的自動流控制功能,可以使用 RTS 輸出和 CTS 輸入信號。 TL16C550D和TL16C550DI對從外圍設備或調制解調器接收的數據執行串行到并行轉換,并行轉換為對從其CPU接收的數據進行串行轉換。 CPU可以隨時讀取ACE狀態。 ACE包括完整的調制解調器控制功能和處理器中斷系統,可以對其進行定制,以最大限度地減少通信鏈路的軟件管理。 TL16C550D和TL16C550DI ACE都包含一個可編程的波特率發生器,能夠劃分參考時鐘由除數從1到65535,并為內部發送器邏輯產生16×參考時鐘。包括使用該16×時鐘作為接收器邏輯的規定。 ACE最高可支持1.5 Mbaud串行速率(24 MHz...
          發表于 10-16 11:19 ? 272次 閱讀
          TL16C550D 具有自動流控制的異步通信元件

          TL16C2552 具有 16 字節 FIFO 的 1.8V 至 5V 雙路 UART

          TL16C2552是雙通用異步接收器和發送器(UART)。它集成了兩個TL16C550D UART的功能,每個UART都有自己的寄存器組和FIFO。兩個UART僅共享數據總線接口和時鐘源,否則它們獨立運行。 UART功能的另一個名稱是異步通信元件(ACE),這些術語將可互換使用。本文檔的大部分內容描述了每個ACE的行為,并了解TL16C2552中集成了兩個這樣的設備。 每個ACE都是TL16C550C的速度和電壓范圍升級,而TL16C550則是TL16C450的功能升級。在上電或復位(單字符或TL16C450模式)時,功能相當于TL16C450,每個ACE都可以置于備用FIFO模式。這通過緩沖接收和傳輸的字符來減輕CPU過多的軟件開銷。每個接收器和發送器在其各自的FIFO中存儲多達16個字節,接收FIFO包括每個字節三個附加位用于錯誤狀態。在FIFO模式下,可選擇的自動流控制功能可以通過使用 RTS 輸出和 CTS 輸入,從而消除了接收FIFO中的溢出。 每個ACE對從外圍設備或調制解調器接收的數據執行串行到并行轉換并行數據存儲在其接收緩沖區或FIFO中,每個ACE在將并行數據存儲到其發送緩沖區或FIFO中后,對從其CPU發送的...
          發表于 10-16 11:19 ? 145次 閱讀
          TL16C2552 具有 16 字節 FIFO 的 1.8V 至 5V 雙路 UART

          TL16C754B 具有 64 字節 FIFO 的四路 UART

          TL16C754B是一款四通用異步接收器/發送器(UART),具有64字節FIFO,自動硬件/軟件流控制,數據速率最高可達3 Mbps的。 TL16C754B提供增強功能。它有一個傳輸控制寄存器(TCR),用于存儲接收的FIFO閾值電平,以便在硬件和軟件流控制期間啟動/停止傳輸。使用FIFO RDY寄存器,軟件在一次訪問中獲得所有四個端口的TXRDY /RXRDY狀態。片上狀態寄存器為用戶提供錯誤指示,操作狀態和調制解調器接口控制??梢远ㄖ葡到y中斷以滿足用戶要求。內部環回功能允許板載診斷。 UART在TX信號上發送從外設8位總線發送給它的數據,并接收RX信號上的字符。字符可以編程為5,6,7或8位。 UART具有64字節接收FIFO和發送FIFO,可編程為在不同觸發電平下中斷。 UART根據可編程除數及其輸入時鐘生成自己想要的波特率。它可以發送偶數,奇數或無奇偶校驗以及1,1.5或2個停止位。接收器可以檢測中斷,空閑或幀錯誤,FIFO溢出和奇偶校驗錯誤。發送器可以檢測FIFO下溢。 UART還包含用于調制解調器控制操作,軟件流控制和硬件流控制功能的軟件接口。 TL16C754B采用80引腳TQFP和68引腳PLCC封裝。 < /D...
          發表于 10-16 11:19 ? 1041次 閱讀
          TL16C754B 具有 64 字節 FIFO 的四路 UART

          TIR1000 獨立 IrDA 編碼器,解碼器

          TIR1000x串行紅外(SIR)編碼器和解碼器是一種CMOS器件,可對符合IrDA規范的位數據進行編碼和解碼。 < p>需要一個收發器設備來連接光敏二極管(PIN)和發光二極管(LED)。需要UART來連接串行數據線。 特性 將紅外(IR)端口添加到通用異步接收器發送器(UART) 與紅外數據關聯兼容(IrDA?)和Hewlett Packard串行紅外線(HPSIR) 提供1200 bps至115 kbps的數據速率 工作電壓范圍為2.7 V至5.5 V < /li> 使用UART提供簡單接口 解碼負脈沖或正脈沖 提供兩個8端子塑料小外形封裝(PSOP) < li> PS封裝尺寸略大于PW封裝 參數 與其它產品相比?UART ? Number of Channels (#) FIFOs (bytes) Rx FIFO Trigger Levels (#) Tx FIFO Trigger Levels (#) Programmable FIFO Trigger Levels CPU Interface Baud Rate (max) at Vcc = 1.8V and with 16X Sampling (Mbps) Baud Rate (max) at Vcc = 2.5V and with 16X Sampling (Mbps) Baud Rate (max) at Vcc = 3.3V and with 16X Sampling (Mbps) Baud Rate ...
          發表于 10-16 11:19 ? 211次 閱讀
          TIR1000 獨立 IrDA 編碼器,解碼器

          TL16C452 具有并行端口但沒有 FIFO 的雙路 UART

          TL16C451和TL16C452提供單通道和雙通道(分別)串行接口以及單個Centronix型并行端口接口。串行接口為從外圍設備或調制解調器接收的數據提供串并轉換,并為CPU傳輸的數據提供并行到串行轉換。并行接口提供雙向并行數據端口,完全符合Centronix型打印機接口的要求。 CPU可以在操作中的任何位置讀取異步通信元素(ACE)接口的狀態。狀態包括調制解調器信號的狀態(CTS \,DSR \,RLSD \和RI)以及自上次讀取以來發生的這些信號的任何變化,發送器和接收器的狀態,包括檢測到的錯誤收到的數據和打印機狀態。 TL16C451和TL16C452提供對調制解調器信號(RTS \和DTR \),中斷使能,波特率編程和并行端口控制信號的控制。 特性 集成來自IBM PC /AT TM 的大多數通信卡功能或與單通道或雙通道串行兼容端口 TL16C451由一個TL16C450 Plus Centronix打印機接口組成 TL16C452由兩個TL16C450和一個Centronix型打印機接口組成 完全可編程串行接口特性: 5-,6-,7-或8-位字符 偶數,奇數或無奇偶校驗位生成和檢測 1,1 1 /2-或2停止位生成 可編程波特率(直流至256 kbit /s) 完全雙重緩沖以實現...
          發表于 10-16 11:19 ? 219次 閱讀
          TL16C452 具有并行端口但沒有 FIFO 的雙路 UART

          TPIC8101 振動和發動機爆震傳感器接口

          TPIC8101是一款雙通道信號處理IC,用于檢測內燃機的過早爆震。兩個傳感器通道可通過SPI總線選擇。爆震傳感器通常向放大器輸入提供電信號。通過可編程帶通濾波器處理感測信號以提取感興趣的頻率(發動機爆震或ping信號)。帶通濾波器消除了與燃燒相關的任何發動機背景噪聲。與預失真噪聲相比,發動機背景噪聲的幅度通常較低。 通過使用INT /HOLD信號對檢測到的信號進行全波整流和積分。積分級的數字輸出要么轉換為模擬信號,要么通過輸出緩沖器,要么直接由SPI讀取。 這個模擬緩沖輸出可以連接到A /D轉換器,由微處理器讀取。數字輸出可以直接連接到微處理器。 來自A /D的數據使系統能夠分析下一個火花點火正時周期的延遲時間量。通過微處理器閉環系統,提前和延遲火花正時可以優化特定發動機的負載/轉速條件(存儲在RAM中的數據)。 特性 符合汽車應用要求 AEC-Q100符合以下結果: 設備溫度等級1:?? 40°C至125°C 環境工作溫度范圍 設備HBM分類等級3A 設備CDM分類等級C6 雙通道爆震傳感器接口 可編程輸入頻率預分頻器(OSCIN) 帶微處理器的串行接口(SPI) 可編程增益 可編程帶通濾波器中心頻率 外部...
          發表于 10-16 11:19 ? 217次 閱讀
          TPIC8101 振動和發動機爆震傳感器接口

          TL16C752CI-Q1 TL16C752CI-Q1 具有 64 字節 FIFO 的雙路 UART

          TL16C752CI-Q1是一款雙路通用異步收發器(UART),具有64字節先入先出(FIFO)以及自動硬件和軟件流控制功能,數據傳輸速率最高可達3Mbps。該器件具備增強功能的磁場感測解決方案。該器件具有一個傳輸字符控制寄存器(TCR),可存儲接收到的FIFO閾值電平,用于在硬件和軟件流控制過程中啟動或停止傳輸。 憑借FIFO RDY寄存器,軟件只需執行單次訪問即可獲得兩個端口的TXRDY或RXRDY狀態。片上狀態寄存器可為用戶提供錯誤指示,運行狀態以及調制解調器接口控制。內部環回功能支持板上診斷.TL16C752CI-Q1整合了兩個UART的功能,每個UART具備各自的寄存器集和FIFO。兩個UART只有共享數據總線接口和時鐘源,除此之外都是獨立運行的.UART功能也稱作異步通信元件(ACE),這兩個術語可互換使用本文檔主要介紹每個ACE的行為,并讓讀者了解到TL16C752CI-Q1器件中整合了這兩個ACE。 特性 符合汽車級Q100標準 SC16C752B和XR16M752引腳兼容其他增強功能 支持1.8V,2.5V,3.3V或5V電源 運行溫度范圍為-40°C至+ 105°C 支持高達: 48MHz振蕩器輸入時鐘(3Mbps),面向...
          發表于 10-16 11:16 ? 242次 閱讀
          TL16C752CI-Q1 TL16C752CI-Q1 具有 64 字節 FIFO 的雙路 UART

          TL16C754C 具有 64 字節 FIFO 的四路 UART

          ?? 754C是四通用異步接收器發送器(UART),具有64字節FIFO,自動硬件和軟件流控制,數據速率高達3 Mbps。它集成了四個UART的功能,每個UART都有自己的寄存器組和FIFO。四個UART僅共享數據總線接口和時鐘源,否則它們獨立運行。 UART功能的另一個名稱是異步通信元件(ACE),這些術語可互換使用。本文檔的大部分內容描述了每個ACE的行為,并理解將四個這樣的設備合并到?? 754C中。 ?? 754C提供增強功能。它有一個傳輸控制寄存器(TCR),用于存儲接收的FIFO閾值電平,以便在硬件和軟件流控制期間啟動或停止傳輸。使用FIFO RDY寄存器,軟件在一次訪問中獲得所有四個端口的TXRDY /RXRDY狀態。片上狀態寄存器為用戶提供錯誤指示,操作狀態和調制解調器接口控制??梢远ㄖ葡到y中斷以滿足用戶要求。內部環回功能允許板載診斷。 每個UART在TX信號上發送從外設8位總線發送給它的數據,并接收RX信號上的字符。字符可以編程為5,6,7或8位。 UART具有64字節接收FIFO和發送FIFO,可編程為在不同觸發電平下中斷。 UART根據可編程除數及其輸入時鐘生成自己想要的波特率。它可以傳輸偶數,奇...
          發表于 10-16 11:16 ? 445次 閱讀
          TL16C754C 具有 64 字節 FIFO 的四路 UART

          TL16C2752 具有 64 字節 FIFO 的雙路 UART

          TL16C2752是TL16C2552的速度和功能升級。由于它們的引腳排列和軟件兼容,如果需要,設計可以輕松地從TL16C2552遷移到TL16C2752。 TL16C2752內的附加功能可通過擴展寄存器組訪問。一些關鍵的新功能是更大的接收和發送FIFO,嵌入式IrDA編碼器和解碼器,RS-485收發器控制,軟件流控制(Xon /Xoff)模式,可編程發送FIFO閾值,中斷的擴展接收和發送閾值電平,以及流量控制暫停/恢復操作的擴展接收閾值電平。 TL16C2752是雙通用異步接收器和發送器(UART)。它集成了兩個獨立UART的功能:每個UART都有自己的寄存器組,發送和接收FIFO。兩個UART僅共享數據總線接口和時鐘源,否則它們獨立運行。 UART功能的另一個名稱是異步通信元素(ACE),這些術語可以互換使用。本文檔的大部分內容描述了每個ACE的行為,并了解TL16C2752中集成了兩個這樣的器件。 在上電或復位時功能相當于TL16C450(單字符或TL16C450模式),每個ACE都可以置于備用FIFO模式。這通過緩沖接收和待傳輸的字符來減輕CPU過多的軟件開銷。每個接收器和發送器在其各自的FIFO中存儲多達64個字節,接收FIFO包括每個...
          發表于 10-16 11:16 ? 292次 閱讀
          TL16C2752 具有 64 字節 FIFO 的雙路 UART

          NS16C2552 具有 16 字節 FIFO 和高達 5 Mbit/s 數據速率的雙路 UART

          NS16C2552和NS16C2752是雙通道通用異步接收器/發送器(DUART)。占位面積和功能與PC16552D兼容,同時為UART設備添加了新功能。這些功能包括低電壓支持,5V容限輸入,增強功能,增強的寄存器設置和更高的數據速率。 兩個串行通道完全相互獨立,除了常見的CPU接口和晶振輸入。上電時,兩個通道在功能上與PC16552D完全相同。每個通道都可以使用片上發送器和接收器FIFO(在FIFO模式下)。 在FIFO模式下,每個通道能夠緩沖16個字節(對于NS16C2552)或64個字節(對于NS16C2752)的數據在發射器和接收器中。接收器FIFO每個位置還有3位錯誤數據。所有FIFO控制邏輯都在片內,以最大限度地降低系統軟件開銷并最大限度地提高系統效率。 為了提高CPU處理帶寬,DUART和CPU之間的數據傳輸可以使用DMA控制器完成。 DMA傳輸的信令通過每個通道兩個引腳完成( TXRDY 和 RXRDY )。 RXRDY 函數在一個引腳上復用 OUT2 和BAUDOUT函數。配置是通過備用功能寄存器。 UART的基本功能是在并行和串行數據之間進行轉換。串行到并行轉換在UART接收器上完成,并且在發送器上進行并行到...
          發表于 10-16 11:16 ? 258次 閱讀
          NS16C2552 具有 16 字節 FIFO 和高達 5 Mbit/s 數據速率的雙路 UART

          TL16C2550-Q1 具有 16 字節 FIFO 的汽車類 1.8V 至 5V 雙路 UART

          TL16C2550是雙通用異步接收器和發送器(UART)。它集成了兩個TL16C550D UART的功能,每個UART都有自己的寄存器組和FIFO。兩個UART僅共享數據總線接口和時鐘源,否則它們獨立運行。 uart函數的另一個名稱是異步通信元素(ACE),這些術語可以互換使用。本文檔的大部分內容描述了每個ACE的行為,并了解TL16C2550中包含兩個這樣的設備。 每個ACE都是TL16C550C的速度和電壓范圍升級,而TL16C550則是TL16C450的功能升級。在上電或復位(單字符或TL16C450模式)時,功能相當于TL16C450,每個ACE都可以置于備用FIFO模式。這通過緩沖接收和傳輸的字符來減輕CPU過多的軟件開銷。每個接收器和發送器在其各自的FIFO中存儲多達16個字節,接收FIFO包括每個字節三個附加位用于錯誤狀態。在FIFO模式下,可選擇的自動流控制功能可以通過使用 RTS 輸出和 CTS 輸入,從而消除了接收FIFO中的溢出。 每個ACE對從外圍設備或調制解調器接收的數據執行串行到并行轉換并行數據存儲在其接收緩沖區或FIFO中,每個ACE在將并行數據存儲到其發送緩沖區或FIFO中后,對從其CPU發送的數據執...
          發表于 10-16 11:16 ? 275次 閱讀
          TL16C2550-Q1 具有 16 字節 FIFO 的汽車類 1.8V 至 5V 雙路 UART

          TL16C752D-Q1 具有 64 字節 FIFO 的汽車類雙路 UART

          TL16C752D-Q1是一款雙路通用異步收發器(UART),具有64字節FIFO以及自動硬件和軟件流控制功能,數據傳輸該率器件具有一個傳輸字符控制寄存器(TCR),可存儲接收到的FIFO閾值電平,從而在硬件和軟件流控制過程中啟動或停止傳輸。 憑借FIFO RDY寄存器,軟件只需執行單次訪問即可獲得兩個端口的TXRDY或RXRDY狀態。片上狀態寄存器可為用戶提供錯誤指示,運行狀態以及調制解調器接口控制??筛鶕脩粢蠖ㄖ葡到y中斷。內部環回功能支持板上診斷.TL16C752D-Q1整合了兩個UART的功能,每個UART具備各自的寄存器集和FIFO。 兩個UART只共享數據總線接口和時鐘源,除此之外都是獨立運行的.UART功能也稱作異步通信元件(ACE),這兩個術語可互換使用。檔主要介紹每個ACE的行為并讓讀者了解TL16C752D-Q1器件中整合了這兩個ACE。 特性 符合汽車級Q100標準 與TL16C2550引腳兼容,可通過改進的先入先出(FIFO)寄存器提供增強功能 支持1.62V至5.5V的寬電源電壓范圍 5V時為3Mbps(48MHz振蕩器輸入時鐘) 3.3V時為2Mbps(32MHz振蕩器輸入時鐘) 2.5V時為1.5Mbps(24M...
          發表于 10-16 11:16 ? 224次 閱讀
          TL16C752D-Q1 具有 64 字節 FIFO 的汽車類雙路 UART

          TL16C752C 具有 64 字節 FIFO 的雙路 UART

          TL16C752C是一款雙路通用異步收發器(UART),具有64字節先入先出(FIFO)以及自動硬件和軟件流控制功能,數據傳輸速率最高可達3Mbps。該器件具備增強功能的磁場感測解決方案。該器件具有一個傳輸字符控制寄存器(TCR),可存儲接收到的FIFO閾值電平,用于在硬件和軟件流控制過程中啟動或停止傳輸。 憑借FIFO RDY寄存器,軟件只需執行單次訪問即可獲得兩個端口的TXRDY或RXRDY狀態。片上狀態寄存器可為用戶提供錯誤指示,運行狀態以及調制解調器接口控制??筛鶕脩粢蠖ㄖ葡到y中斷。內部環回功能支持板上診斷.TL16C752C整合了兩個UART的功能,每個UART具備各自的寄存器集和FIFO。兩個UART只共享數據總線接口和時鐘源,除此之外都是獨立運行的.UART功能也稱作異步通信元件(ACE),這兩個術語可以互使用。本文檔要介紹每個ACE的行為,并讓讀者了解到TL16C752C器件中整合了這兩個ACE。 特性 SC16C752B和XR16M752引腳兼容其他增強功能 支持1.8V,2.5V,3.3V或5V電源< /li> 運行溫度范圍為-40°C至85°C 支持高達: 48MHz振蕩器輸入時鐘(3Mbps),面向5V工作電...
          發表于 10-16 11:16 ? 390次 閱讀
          TL16C752C 具有 64 字節 FIFO 的雙路 UART

          TL28L92 3.3V/5V 雙路通用異步接收器/發送器

          TL28L92是SC26C92的引腳和功能替代產品,工作電壓為3.3 V或5 V,具有更多功能和更深的FIFO。上電時的配置是SC26C92的配置。它與SC26C92的區別在于:16個字符接收器,16個字符發送FIFO,每個接收器的看門狗定時器,模式寄存器0,擴展波特率和整體更快的速度,可編程接收器和發送器中斷。 Pin編程將允許設備使用Motorola或Intel總線接口。如果要求嚴格符合SC26C92 FIFO結構,MR0A寄存器的第3位允許器件以8字節FIFO模式工作。 德州儀器TL28L92雙通用異步接收器/發送器(DUART)是單芯片CMOS-LSI通信器件,在單個封裝中提供兩個全雙工異步接收器/發送器通道。它直接與微處理器連接,可用于帶調制解調器和DMA接口的輪詢或中斷驅動系統。 每個通道的操作模式和數據格式可以獨立編程。此外,每個接收器和發送器可以選擇其工作速度作為28個固定波特率之一; 16×時鐘源自可編程計數器/定時器,或外部1×或16×時鐘。波特率發生器和計數器/定時器可以直接從晶振或外部時鐘輸入操作。獨立編程接收器和發送器的運行速度的能力使DUART特別適用于集群終端系統等雙速通道應用。 每個接收器和發送器由8或16個字符的F...
          發表于 10-16 11:16 ? 217次 閱讀
          TL28L92 3.3V/5V 雙路通用異步接收器/發送器

          TL16C2550 具有 16 字節 FIFO 的 1.8V 至 5V 雙路 UART

          TL16C2550是雙通用異步接收器和發送器(UART)。它集成了兩個TL16C550D UART的功能,每個UART都有自己的寄存器組和FIFO。兩個UART僅共享數據總線接口和時鐘源,否則它們獨立運行。 uart函數的另一個名稱是異步通信元素(ACE),這些術語可以互換使用。本文檔的大部分內容描述了每個ACE的行為,并了解TL16C2550中包含兩個這樣的設備。 每個ACE都是TL16C550C的速度和電壓范圍升級,而TL16C550則是TL16C450的功能升級。在上電或復位(單字符或TL16C450模式)時,功能相當于TL16C450,每個ACE都可以置于備用FIFO模式。這通過緩沖接收和傳輸的字符來減輕CPU過多的軟件開銷。每個接收器和發送器在其各自的FIFO中存儲多達16個字節,接收FIFO包括每個字節三個附加位用于錯誤狀態。在FIFO模式下,可選擇的自動流控制功能可以通過使用 RTS 輸出和 CTS 輸入,從而消除了接收FIFO中的溢出。 每個ACE對從外圍設備或調制解調器接收的數據執行串行到并行轉換并行數據存儲在其接收緩沖區或FIFO中,每個ACE在將并行數據存儲到其發送緩沖區或FIFO中后,對從其CPU發送的數據執...
          發表于 10-16 11:16 ? 314次 閱讀
          TL16C2550 具有 16 字節 FIFO 的 1.8V 至 5V 雙路 UART

          NS16C2752 具有 64 字節 FIFO 和高達 5 Mbit/s 數據速率的雙路 UART

          NS16C2552和NS16C2752是雙通道通用異步接收器/發送器(DUART)。占位面積和功能與PC16552D兼容,同時為UART設備添加了新功能。這些功能包括低電壓支持,5V容限輸入,增強功能,增強的寄存器設置和更高的數據速率。 兩個串行通道完全相互獨立,除了常見的CPU接口和晶振輸入。上電時,兩個通道在功能上與PC16552D完全相同。每個通道都可以使用片上發送器和接收器FIFO(在FIFO模式下)。 在FIFO模式下,每個通道能夠緩沖16個字節(對于NS16C2552)或64個字節(對于NS16C2752)的數據在發射器和接收器中。接收器FIFO每個位置還有3位錯誤數據。所有FIFO控制邏輯都在片內,以最大限度地降低系統軟件開銷并最大限度地提高系統效率。 為了提高CPU處理帶寬,DUART和CPU之間的數據傳輸可以使用DMA控制器完成。 DMA傳輸的信令通過每個通道兩個引腳完成( TXRDY 和 RXRDY )。 RXRDY 函數在一個引腳上復用 OUT2 和BAUDOUT函數。配置是通過備用功能寄存器。 UART的基本功能是在并行和串行數據之間進行轉換。串行到并行轉換在UART接收器上完成,并且在發送器上進行并行到...
          發表于 10-16 11:16 ? 268次 閱讀
          NS16C2752 具有 64 字節 FIFO 和高達 5 Mbit/s 數據速率的雙路 UART

          TL16C752D TL16C752D 具有 64 字節 FIFO 的雙路 UART

          TL16C752D是一款雙路通用異步收發器(UART),具有64字節FIFO以及自動硬件和軟件流控制功能,數據傳輸速率最高可達3Mbps。該器件具備增強功能的磁場感測解決方案。該器件具有一個傳輸字符控制寄存器(TCR),可存儲接收到的FIFO閾值電平,從而在硬件和軟件流控制過程中啟動或停止傳輸。 憑借FIFO RDY寄存器,軟件只需執行單次訪問即可獲得兩個端口的TXRDY或RXRDY狀態。片上狀態寄存器可用于用戶提供錯誤指示,運行狀態以及調制解調器接口控制??筛鶕脩粢蠖ㄖ葡到y中斷。內部環回功能支持板上診斷.TL16C752D整合了兩個UART的功能,每個UART都有自己的寄存器集和FIFO。 兩個UART只共享數據總線接口和時鐘源,除此之外都是獨立運行的.UART功能也稱作異步通信元件(ACE),這兩個術語可以互使用。本文檔主要介紹每個ACE的行為,并讓讀者了解到TL16C752D器件中整合了這兩個ACE。 特性 與 TL16C2550 引腳兼容,可通過 改進的先入先出 (FIFO) 寄存器 提供增強功能支持 1.62V 至 5.5V 的寬電源電壓范圍 5V 時為 3Mbps(48MHz 振蕩器輸入時鐘) 3.3V 時為 3Mbps(48MHz...
          發表于 10-16 11:16 ? 349次 閱讀
          TL16C752D TL16C752D 具有 64 字節 FIFO 的雙路 UART