欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

具有多個(gè)uart接口的設(shè)備以及利用該設(shè)備的方法

文檔序號(hào):6340053閱讀:473來(lái)源:國(guó)知局
專利名稱:具有多個(gè)uart接口的設(shè)備以及利用該設(shè)備的方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,尤其涉及具有多個(gè)UART (通用異步接收/發(fā)送裝置)接口的設(shè)備以及利用該設(shè)備發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)的方法。
背景技術(shù)
在通信設(shè)備、工業(yè)控制等許多設(shè)備中,經(jīng)常會(huì)用UART接口等串行通信接口作為控制,或者數(shù)據(jù)傳輸接口。在很多時(shí)候,需要多個(gè)UART接口同時(shí)或者分別進(jìn)行通信,而多個(gè) UART接口的波特率(baud rate)不一樣。如果每個(gè)UART接口都有分配一個(gè)地址、2個(gè)FIFO 緩存器、波特率發(fā)生器,那么假設(shè)有5,6個(gè)UART接口甚至更多,就需要很多個(gè)FIFO緩存器和波特率發(fā)生器,使得片上系統(tǒng)SOC (片上系統(tǒng))的面積增大,增加功耗,浪費(fèi)資源。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是當(dāng)配置多個(gè)UART接口時(shí)如何保證各個(gè)UART接口傳輸?shù)南嗷オ?dú)立,提高傳輸效率、節(jié)約資源。為了實(shí)現(xiàn)上述目的,本發(fā)明公開了一種具有多個(gè)UART接口的設(shè)備,所述多個(gè)UART 接口具有多個(gè)波特率,該設(shè)備包括
總線接口,用于當(dāng)需要所述UART接口執(zhí)行發(fā)送操作時(shí)從總線接收與所述UART接口對(duì)應(yīng)的地址信息和數(shù)據(jù);
與所述總線接口耦合的數(shù)據(jù)ID邏輯,用于將所述地址信息轉(zhuǎn)換為對(duì)應(yīng)UART接口的ID fn息;
與所述數(shù)據(jù)ID邏輯耦合的發(fā)送緩存器,用于緩存所述ID信息和所接收的數(shù)據(jù); 與所述發(fā)送緩存器耦合的數(shù)據(jù)選擇器,用于從所述發(fā)送緩存器讀取所接收的數(shù)據(jù)并且將所接收的數(shù)據(jù)發(fā)送到與所述ID信息對(duì)應(yīng)的UART接口 ;
波特率時(shí)鐘電路,根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào);
所述數(shù)據(jù)選擇器進(jìn)一步用于當(dāng)所述UART接口執(zhí)行接收操作后從UART接口接收數(shù)據(jù), 并保存對(duì)應(yīng)的ID信息;
所述設(shè)備還包括與數(shù)據(jù)ID邏輯耦合并且與所述發(fā)送緩存器并行設(shè)置的接收緩存器, 用于緩存來(lái)自數(shù)據(jù)選擇器的所述ID信息和從UART接口所接收的數(shù)據(jù);
所述數(shù)據(jù)ID邏輯進(jìn)一步用于將接收緩存器中的所述ID信息轉(zhuǎn)換為地址信息; 所述總線接口進(jìn)一步用于將接收緩存器中的從UART接口接收的數(shù)據(jù)和所述轉(zhuǎn)換后的地址信息通過(guò)總線輸出。在一個(gè)優(yōu)選實(shí)施例中,所述波特率時(shí)鐘電路包括波特率時(shí)鐘選擇邏輯和波特率發(fā)生器。在一個(gè)優(yōu)選實(shí)施例中,所述波特率發(fā)生器包括波特率計(jì)數(shù)器,其計(jì)數(shù)器的最大值為各個(gè)UART接口波特率系數(shù)乘以16后的最小公倍數(shù)。
在一個(gè)優(yōu)選實(shí)施例中,如果波特率計(jì)數(shù)器的值為對(duì)應(yīng)UART接口的波特率系數(shù)的倍數(shù)時(shí),則波特率時(shí)鐘選擇邏輯產(chǎn)生對(duì)應(yīng)的接收時(shí)鐘。在一個(gè)優(yōu)選實(shí)施例中,當(dāng)所述UART接口需要執(zhí)行發(fā)送操作時(shí),如果波特率計(jì)數(shù)器的值為對(duì)應(yīng)UART接口的波特率系數(shù)乘以16的倍數(shù)時(shí),則波特率時(shí)鐘選擇邏輯產(chǎn)生對(duì)應(yīng)的發(fā)送時(shí)鐘。優(yōu)選地,所述UART接口包括數(shù)據(jù)收發(fā)邏輯。優(yōu)選地,所述發(fā)送緩存器和所述接收緩存器都是同步FIFO (先入先出)緩存器。本發(fā)明還公開一種利用本發(fā)明的設(shè)備發(fā)送數(shù)據(jù)的方法,包括如下步驟
1)總線接口從總線接收與所述UART接口對(duì)應(yīng)的地址信息和數(shù)據(jù);
2)數(shù)據(jù)ID邏輯將所述地址信息轉(zhuǎn)換為ID信息;
3)發(fā)送緩存器緩存所述ID信息和所接收的數(shù)據(jù);
4)數(shù)據(jù)選擇器從所述發(fā)送緩存器讀取所接收的數(shù)據(jù)并且將所接收的數(shù)據(jù)發(fā)送到與所述ID信息對(duì)應(yīng)的UART接口 ;
5)波特率時(shí)鐘電路根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào);
6)對(duì)應(yīng)的UART接口根據(jù)所述時(shí)鐘信號(hào),發(fā)送數(shù)據(jù)。在一個(gè)優(yōu)選實(shí)施例中,所述步驟5)波特率時(shí)鐘電路根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào)還包括以下步驟
如果波特率計(jì)數(shù)器的值為對(duì)應(yīng)UART接口的波特率系數(shù)乘以16的倍數(shù),則波特率時(shí)鐘選擇邏輯產(chǎn)生對(duì)應(yīng)的發(fā)送時(shí)鐘。本發(fā)明還公開一種利用本發(fā)明的設(shè)備接收數(shù)據(jù)的方法,包括如下步驟
1)波特率時(shí)鐘電路根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào);
2)UART接口根據(jù)所述時(shí)鐘信號(hào),接收數(shù)據(jù);
3)數(shù)據(jù)選擇器從所述UART接口接收所述數(shù)據(jù)和保存對(duì)應(yīng)的ID信息;
4)接收緩存器緩存所接收的數(shù)據(jù)和ID信息;
5)數(shù)據(jù)ID邏輯將所述ID信息轉(zhuǎn)換為地址信息;
6)將所接收的數(shù)據(jù)和地址信息傳輸給總線接口。在一個(gè)優(yōu)選實(shí)施例中,所述步驟1)波特率時(shí)鐘電路根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào)還包括以下步驟
如果波特率計(jì)數(shù)器的值為對(duì)應(yīng)UART接口的波特率系數(shù)的倍數(shù),則波特率時(shí)鐘選擇邏輯產(chǎn)生對(duì)應(yīng)的接收時(shí)鐘。與現(xiàn)有技術(shù)相比,本發(fā)明的具有多個(gè)UART接口的設(shè)備以及利用該設(shè)備發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)的方法有益效果為
本發(fā)明可以適用于多種SOC模塊,可以靈活配置多個(gè)UART接口的數(shù)目,支持標(biāo)準(zhǔn)的 UART協(xié)議、且各個(gè)UART接口的傳輸相互獨(dú)立,節(jié)省了每個(gè)UART所需要使用的緩存器和波特率產(chǎn)生電路,從而提高傳輸效率、節(jié)約資源并且降低功耗以及方便通信設(shè)備的使用。


本發(fā)明的其它特性和優(yōu)點(diǎn)將從閱讀以下參考相應(yīng)附圖的本發(fā)明多個(gè)優(yōu)選實(shí)施例的描述中得到更為清楚地顯現(xiàn)
圖1是根據(jù)本發(fā)明的具有多個(gè)UART接口的設(shè)備的框圖; 圖2是根據(jù)本發(fā)明實(shí)施例的波特率時(shí)鐘電路的框圖; 圖3是利用本發(fā)明的設(shè)備發(fā)送數(shù)據(jù)的方法的流程圖; 圖4是利用本發(fā)明的設(shè)備接收數(shù)據(jù)的方法的流程圖; 圖5是根據(jù)本發(fā)明的多個(gè)時(shí)鐘信號(hào)的示例圖。
具體實(shí)施例方式現(xiàn)在將在下文中參考附圖更充分地描述本發(fā)明,其中在附圖中示出了本發(fā)明的說(shuō)明性實(shí)施例。在該附圖中,為了清楚,部位或者特征的相對(duì)大小可以被放大。但是,本發(fā)明可以以許多不同的形式實(shí)施,并且將不會(huì)認(rèn)為是局限于在此處闡述的實(shí)施例;相反地,這些實(shí)施例被提供以使得這個(gè)公開將是全面的和完整的,并且將本發(fā)明的范圍全面地傳送給那些本領(lǐng)域技術(shù)人員。應(yīng)該理解的是,當(dāng)一個(gè)元件被稱為是“耦合”或者“連接”到另一個(gè)元件的時(shí)候,其可以直接耦合或者連接到另一個(gè)元件,或者還可以存在插入元件。相比之下, 當(dāng)一個(gè)元件被稱為是“直接地耦合”或者“直接地連接”到另一個(gè)元件上的時(shí)候,不存在插入的元件。相同的數(shù)字自始至終地指的是相同的元件。如在此處使用的,該術(shù)語(yǔ)“和/或” 包括相關(guān)的列出項(xiàng)目的一個(gè)或多個(gè)的任何和所有的組合。在此處使用的術(shù)語(yǔ)僅僅是為了描述特定實(shí)施例的目的,并且不意欲限制本發(fā)明。 如在此處使用的,該單數(shù)的形式“一”、“一個(gè)”意欲同樣包括復(fù)數(shù)形式,除非上下文清楚地表示之外。進(jìn)一步應(yīng)該理解的是,在這個(gè)說(shuō)明書中使用的術(shù)語(yǔ)“包括”和/或“包含”指定存在陳述的特征、整數(shù)、步驟、操作、元件和/或部件,但是不排除存在或者增加一個(gè)或多個(gè)其他的特征、整數(shù)、步驟、操作、元件、部件和/或其分組。除非被定義而外,在此處使用的所有術(shù)語(yǔ)(包括技術(shù)和科學(xué)術(shù)語(yǔ))具有與通常由本發(fā)明屬于的該領(lǐng)域普通技術(shù)人員所理解的相同的含義。更進(jìn)一步應(yīng)該理解的是,諸如常用字典中限定的那些術(shù)語(yǔ)應(yīng)該解釋為具有以下的含義,即,符合它們?cè)谙嚓P(guān)技術(shù)的上下文中的含義,并且除了在此處明白地限定的之外,不會(huì)以理想化或者太正式的意義被解釋。某些術(shù)語(yǔ)在本申請(qǐng)文件中自始至終用來(lái)指示特定系統(tǒng)部件。如本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到的那樣,通??梢杂貌煌拿Q來(lái)指示相同的部件,因而本申請(qǐng)文件不意圖區(qū)別那些只是在名稱上不同而不是在功能方面不同的部件。在本申請(qǐng)文件中,以開放的形式使用術(shù)語(yǔ)“包括”、“包含”和“具有”,并且因此應(yīng)將其解釋為意指“包括但不限于…”。圖1是根據(jù)本發(fā)明的具有多個(gè)UART接口的設(shè)備1的框圖。該設(shè)備1包括總線接口 101、數(shù)據(jù)ID邏輯102、發(fā)送緩存器103、接收緩存器104、數(shù)據(jù)選擇器105、波特率時(shí)鐘電路 106??偩€接口 101用于當(dāng)需要UART接口執(zhí)行發(fā)送操作時(shí)從總線接收與所述UART接口對(duì)應(yīng)的地址信息和數(shù)據(jù)。與所述總線接口 101耦合的數(shù)據(jù)ID邏輯102用于將所述地址信息轉(zhuǎn)換為對(duì)應(yīng)UART接口的ID信息。與所述數(shù)據(jù)ID邏輯102耦合的發(fā)送緩存器103用于緩存所述ID信息和所接收的數(shù)據(jù)。與所述發(fā)送緩存器103耦合的數(shù)據(jù)選擇器105用于從所述發(fā)送緩存器103讀取所接收的數(shù)據(jù)并且將所接收的數(shù)據(jù)發(fā)送到與所述ID信息對(duì)應(yīng)的UART接口。波特率時(shí)鐘電路106根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào)。在一個(gè)優(yōu)選實(shí)施例中,所述數(shù)據(jù)選擇器105進(jìn)一步用于當(dāng)所述UART接口執(zhí)行接收操作后從UART接口數(shù)據(jù),并保存對(duì)應(yīng)的ID信息。所述設(shè)備1還包括與數(shù)據(jù)ID邏輯102耦合并且與所述發(fā)送緩存器103并行設(shè)置的接收緩存器104用于緩存來(lái)自數(shù)據(jù)選擇器的所述 ID信息和從UART接口所接收的數(shù)據(jù)。所述數(shù)據(jù)ID邏輯進(jìn)一步用于將接收緩存器中的所述 ID信息轉(zhuǎn)換為地址信息。所述總線接口 101進(jìn)一步用于將接收緩存器中的從UART接口接收的數(shù)據(jù)和所述轉(zhuǎn)換后的地址信息通過(guò)總線輸出。在一個(gè)優(yōu)選實(shí)施例中,下面將詳細(xì)介紹上述組件的功能??偩€接口101
總線接口 101負(fù)責(zé)和CPU或者控制單元進(jìn)行通信,一般是常用的數(shù)據(jù)總線接口,通過(guò)總線接口配置寄存器,傳輸?shù)刂泛蛿?shù)據(jù),以及時(shí)鐘等信息。另外,設(shè)備1還可以包括模塊寄存器和各個(gè)UART接口的配置寄存器,總線接口會(huì)自動(dòng)進(jìn)行這些寄存器數(shù)據(jù)的讀寫,而不用經(jīng)過(guò)FIFO緩存器。數(shù)據(jù)ID邏輯102
對(duì)于要發(fā)送的數(shù)據(jù),數(shù)據(jù)ID邏輯202會(huì)把總線傳來(lái)的地址轉(zhuǎn)換為ID,這里的地址是數(shù)據(jù)所對(duì)應(yīng)UART接口的數(shù)據(jù)寄存器地址,自動(dòng)擴(kuò)展數(shù)據(jù),在數(shù)據(jù)的高位加入ID,和數(shù)據(jù)一起作為一幀數(shù)據(jù)存入發(fā)送FIFO緩存器。對(duì)于接收FIFO緩存器中的數(shù)據(jù),數(shù)據(jù)ID邏輯會(huì)根據(jù) ID信息,轉(zhuǎn)換為相應(yīng)的地址信息,傳給總線,數(shù)據(jù)則直接輸出給總線接口。數(shù)據(jù)選擇器105
判斷并傳輸FIFO緩存器和不同UART接口之間的數(shù)據(jù),可以對(duì)不同的UART接口數(shù)據(jù)進(jìn)行分發(fā)或者接收,在分發(fā)的時(shí)候從發(fā)送FIFO緩存器中取出數(shù)據(jù),刪除對(duì)應(yīng)UART接口的 ID,只把數(shù)據(jù)傳送給對(duì)應(yīng)接口的數(shù)據(jù)寄存器;在接收的時(shí)候根據(jù)對(duì)應(yīng)UART接口的數(shù)據(jù)寄存器的地址,會(huì)擴(kuò)展接收到的數(shù)據(jù),把對(duì)應(yīng)UART接口的ID保存到數(shù)據(jù)的高位,然后保存到接收FIFO緩存器,成為新的數(shù)據(jù)。數(shù)據(jù)選擇器實(shí)現(xiàn)了對(duì)數(shù)據(jù)的統(tǒng)一管理。波特率時(shí)鐘電路106
在一個(gè)優(yōu)選實(shí)施例中,如圖2所示,波特率時(shí)鐘電路106包括波特率時(shí)鐘選擇邏輯201 和波特率發(fā)生器202。在又一個(gè)優(yōu)選實(shí)施例中,所述波特率發(fā)生器202包括波特率計(jì)數(shù)器203,根據(jù)系統(tǒng)時(shí)鐘進(jìn)行不間斷的累加計(jì)數(shù),其計(jì)數(shù)器203從零開始計(jì)數(shù),最大值為各個(gè) UART接口波特率系數(shù)乘以16后的最小公倍數(shù),到達(dá)最大值后回到1重新開始累加計(jì)數(shù)。在一個(gè)優(yōu)選實(shí)施例中,如果波特率計(jì)數(shù)器203的值為對(duì)應(yīng)UART接口的波特率系數(shù)的倍數(shù),則波特率時(shí)鐘選擇邏輯201產(chǎn)生對(duì)應(yīng)UART接口的接收時(shí)鐘。在另一優(yōu)選實(shí)施例中,當(dāng)所述UART接口需要執(zhí)行發(fā)送操作時(shí),如果波特率計(jì)數(shù)器 203的值為對(duì)應(yīng)UART接口的波特率系數(shù)乘以16的倍數(shù),則波特率時(shí)鐘選擇邏輯201產(chǎn)生對(duì)應(yīng)UART接口的發(fā)送時(shí)鐘。在本發(fā)明中,因?yàn)楦鱾€(gè)UART接口的波特率系數(shù)都是對(duì)系統(tǒng)時(shí)鐘進(jìn)行計(jì)數(shù),這個(gè)電路使用一個(gè)計(jì)數(shù)器,節(jié)省了各個(gè)UART接口的波特率發(fā)生器,達(dá)到了節(jié)約資源的目的,降低了功耗。發(fā)送緩存器103和接收緩存器104在一個(gè)優(yōu)選實(shí)施例中,發(fā)送緩存器和接收緩存器都是FIFO緩存器。發(fā)送緩存器存儲(chǔ)要發(fā)送的數(shù)據(jù)并且接收緩存器存儲(chǔ)接收的數(shù)據(jù)。每幀數(shù)據(jù)都包含了對(duì)應(yīng)UART接口的ID和需要傳輸?shù)臄?shù)據(jù),發(fā)送FIFO緩存器保存各個(gè)UART接口需要發(fā)送的數(shù)據(jù),接收FIFO緩存器保存各個(gè)UART接口接收到的數(shù)據(jù)。兩個(gè)FIFO緩存器的指針都是同步的,而且各個(gè)UART可以共用一個(gè)緩存模塊,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的快速傳輸和高效的管理,其中FIFO緩存器的深度可以自定義,實(shí)現(xiàn)大量數(shù)據(jù)的傳輸,和對(duì)不同SOC環(huán)境的適應(yīng)。在一個(gè)優(yōu)選實(shí)施例中,該設(shè)備1包括模塊配置寄存器。模塊配置寄存器包含了模塊的波特率系數(shù)寄存器、工作模式寄存器、模塊狀態(tài)寄存器、中斷寄存器、FIFO狀態(tài)寄存器等,從而實(shí)現(xiàn)了對(duì)模塊的整體配置。在另一個(gè)優(yōu)選實(shí)施例中,UART接口包括數(shù)據(jù)配置寄存器和數(shù)據(jù)收發(fā)邏輯。各個(gè)UART接口的數(shù)據(jù)配置寄存器負(fù)責(zé)UART內(nèi)數(shù)據(jù)傳輸?shù)呐渲?,包括波特率系?shù)寄存器,數(shù)據(jù)參數(shù)寄存器,傳輸配置寄存器等,決定了數(shù)據(jù)傳輸?shù)钠媾嘉?,停止位,每次傳輸?shù)據(jù)的長(zhǎng)度,以及收發(fā)的使能控制等。各個(gè)UART接口的數(shù)據(jù)收發(fā)邏輯根據(jù)時(shí)鐘信號(hào)實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。接收和發(fā)送是互相獨(dú)立的,實(shí)現(xiàn)正確的數(shù)據(jù)發(fā)送,和對(duì)接收數(shù)據(jù)的校驗(yàn)工作,包括起始位的判斷,奇偶位的校驗(yàn),停止位的判斷,以及對(duì)傳輸空字節(jié)數(shù)據(jù)(break data)的判斷。其中接收數(shù)據(jù)時(shí),每16 個(gè)接收時(shí)鐘采樣接收一位數(shù)據(jù)。在又一個(gè)優(yōu)選實(shí)施例中,該設(shè)備1還可以包括紅外模塊、modem模塊,用于紅外傳輸和modem傳輸,其中紅外模塊可以實(shí)現(xiàn)低功耗傳輸和標(biāo)準(zhǔn)的紅外傳輸。在又一個(gè)優(yōu)選實(shí)施例中,該設(shè)備1還可以包括中斷模塊支持常用中斷,發(fā)送中斷、 接收中斷、接收溢出(overrun)中斷,接收超時(shí)中斷等。 此外,本發(fā)明的具有多個(gè)UART接口的設(shè)備還可以定義UART接口的數(shù)目,實(shí)現(xiàn)了對(duì)不同SOC環(huán)境的適應(yīng)。本發(fā)明還公開了利用圖1的設(shè)備發(fā)送數(shù)據(jù)的方法,如圖3所示。圖3示出了利用本發(fā)明的設(shè)備發(fā)送數(shù)據(jù)的方法的流程圖。在步驟301,總線接口 101從總線接收與所述UART接口對(duì)應(yīng)的地址信息和數(shù)據(jù)。 該地址信息為某個(gè)UART接口發(fā)送數(shù)據(jù)寄存器的地址。在步驟302,所述數(shù)據(jù)ID邏輯102將所述地址信息轉(zhuǎn)換為ID信息。在步驟303,所述發(fā)送緩存器103緩存所述ID信息和所接收的數(shù)據(jù),其中所述ID 信息和所接收的數(shù)據(jù)作為一幀數(shù)據(jù)緩存。在步驟304,數(shù)據(jù)選擇器105從所述發(fā)送緩存器讀取所接收的數(shù)據(jù)并且將數(shù)據(jù)發(fā)送到與所述ID信息對(duì)應(yīng)的UART接口。具體而言,在發(fā)送時(shí),數(shù)據(jù)選擇器105從發(fā)送緩存器 103取出數(shù)據(jù)、刪除對(duì)應(yīng)UART接口的ID,僅僅把需要發(fā)送的數(shù)據(jù)發(fā)送給對(duì)應(yīng)接口的發(fā)送數(shù)據(jù)寄存器。在步驟305,波特率時(shí)鐘電路106根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè) UART接口所需要的時(shí)鐘信號(hào)。由于在波特率發(fā)生器內(nèi)部存在波特率計(jì)數(shù)器,所以波特率時(shí)鐘選擇邏輯201根據(jù)計(jì)數(shù)器的值產(chǎn)生時(shí)鐘信號(hào),將下文詳細(xì)描述如何產(chǎn)生時(shí)鐘信號(hào)。在步驟306,UART接口根據(jù)所述時(shí)鐘信號(hào)發(fā)送數(shù)據(jù)。
在一個(gè)優(yōu)選實(shí)施例中,步驟305還包括以下步驟如果波特率計(jì)數(shù)器203的值為對(duì)應(yīng)UART接口的波特率系數(shù)乘以16的倍數(shù),則波特率時(shí)鐘選擇邏輯201產(chǎn)生對(duì)應(yīng)UART的發(fā)送時(shí)鐘。具體而言,具有各個(gè)UART接口的設(shè)備發(fā)送數(shù)據(jù)的過(guò)程如下
1、數(shù)據(jù)從總線接口 101進(jìn)入,相應(yīng)的地址為某個(gè)UART接口發(fā)送數(shù)據(jù)寄存器的地址。地址經(jīng)過(guò)數(shù)據(jù)ID邏輯102轉(zhuǎn)換為對(duì)應(yīng)的ID,和數(shù)據(jù)一起作為一幀數(shù)據(jù)保存進(jìn)發(fā)送緩存器103 中。2、數(shù)據(jù)選擇器105從發(fā)送緩存器103中取出數(shù)據(jù),根據(jù)ID存入對(duì)應(yīng)的UART接口的發(fā)送數(shù)據(jù)寄存器,UART接口中的數(shù)據(jù)收發(fā)邏輯η根據(jù)數(shù)據(jù)配置寄存器對(duì)數(shù)據(jù)的配置,以及對(duì)應(yīng)的波特率時(shí)鐘選擇邏輯產(chǎn)生發(fā)送時(shí)鐘,發(fā)送開始位,數(shù)據(jù),奇偶位,和停止位,直到傳輸完成?,F(xiàn)在以實(shí)例1來(lái)說(shuō)明具有2個(gè)UART接口的設(shè)備發(fā)送數(shù)據(jù)的情況。實(shí)例1 假設(shè)系統(tǒng)時(shí)鐘為60Mhz,使用UART接口 0和接口 1發(fā)送8位數(shù)據(jù),不發(fā)送奇偶位,只發(fā)送一個(gè)停止位。開始時(shí)總線接口接收到兩個(gè)數(shù)據(jù)Khaa和8、bb,數(shù)據(jù)ID邏輯根據(jù)對(duì)應(yīng)數(shù)據(jù)寄存器的地址加入IDO給8、haa,加入IDl給8、hbb,生成12、hOaa和12、h·, 并保存進(jìn)發(fā)送FIFO緩存器。數(shù)據(jù)選擇器讀出這兩個(gè)數(shù)據(jù)并把Khaa傳給UART接口 0的發(fā)送數(shù)據(jù)寄存器,把KtAb傳給UART接口 1的發(fā)送數(shù)據(jù)寄存器。假設(shè)接口 0的波特率是 115200bps,波特率系數(shù)為32,接口 1的波特率是921600bps,波特率系數(shù)為4。那么模塊的波特率發(fā)生器的計(jì)數(shù)器就計(jì)數(shù)到64(16*4)的倍數(shù)時(shí),波特率時(shí)鐘選擇邏輯產(chǎn)生發(fā)送時(shí)鐘給接口 1使用,接口 1據(jù)此發(fā)送起始位,數(shù)據(jù)8、bb,停止位。當(dāng)計(jì)數(shù)到512 (16*32)時(shí),波特率時(shí)鐘選擇邏輯產(chǎn)生發(fā)送時(shí)鐘給UART接口 0使用,發(fā)接口 0據(jù)此發(fā)送起始位,數(shù)據(jù)8、haa, 停止位。這樣兩個(gè)UART接口就共用一個(gè)FIFO緩存器和波特率發(fā)生器,波特率時(shí)鐘選擇邏輯,節(jié)省了系統(tǒng)資源。本發(fā)明還公開利用根據(jù)圖1的設(shè)備接收數(shù)據(jù)的方法,如圖4所示。在步驟401,波特率時(shí)鐘電路106根據(jù)所述多個(gè)UART接口的波特率
產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào)。在步驟402,UART接口根據(jù)所述時(shí)鐘信號(hào),接收數(shù)據(jù)。在步驟403,數(shù)據(jù)選擇器105從所述UART接口選擇所接收的數(shù)據(jù)和ID信息。在步驟404,接收緩存器104緩存所接收的數(shù)據(jù)和ID信息。在步驟405,數(shù)據(jù)ID邏輯102將所述ID信息轉(zhuǎn)換為地址信息。在步驟406,將所接收的數(shù)據(jù)和地址信息傳輸給總線接口。在一個(gè)優(yōu)選實(shí)施例中,所述步驟401)還包括以下步驟如果波特率計(jì)數(shù)器的值為對(duì)應(yīng)UART接口的波特率系數(shù)的倍數(shù)時(shí),則波特率時(shí)鐘選擇邏輯產(chǎn)生對(duì)應(yīng)UART的接收時(shí)鐘。具體而言,具有各個(gè)UART接口的設(shè)備接收數(shù)據(jù)的過(guò)程如下
1.數(shù)據(jù)收發(fā)邏輯η根據(jù)接收時(shí)鐘,探測(cè)起始位,接收數(shù)據(jù),奇偶位,和停止位,并進(jìn)行數(shù)據(jù)的校驗(yàn)工作,然后保存接收到的數(shù)據(jù)到數(shù)據(jù)選擇器。2.數(shù)據(jù)選擇器根據(jù)對(duì)應(yīng)的UART接口 ID,保存接收的數(shù)據(jù)和ID為一幀數(shù)據(jù)到接收
緩存器。3.數(shù)據(jù)ID邏輯把接收FIFO緩存器中的數(shù)據(jù)傳給總線接口,把ID翻譯為對(duì)應(yīng)UART
9接口數(shù)據(jù)寄存器的地址,被總線接口輸出傳給外部控制器,完成數(shù)據(jù)接收。現(xiàn)在以實(shí)例2來(lái)說(shuō)明具有2個(gè)UART接口的設(shè)備接收數(shù)據(jù)的情況。實(shí)例2假設(shè)系統(tǒng)時(shí)鐘和波特率不變,還是用UART接口 0和UART接口 1,但是用于接收數(shù)據(jù),有奇偶位。那么當(dāng)波特率發(fā)生器的計(jì)數(shù)器計(jì)數(shù)到4的倍數(shù)時(shí),波特率時(shí)鐘選擇邏輯產(chǎn)生接收時(shí)鐘給UART接口 1。對(duì)于UART接口 0,則是當(dāng)計(jì)數(shù)器計(jì)數(shù)到32的倍數(shù)時(shí),波特率時(shí)鐘選擇邏輯產(chǎn)生接收時(shí)鐘信號(hào)。兩個(gè)UART 口根據(jù)接收時(shí)鐘探測(cè)起始位,接收數(shù)據(jù),校驗(yàn)奇偶位和停止位。然后把接收到的數(shù)據(jù)傳給數(shù)據(jù)選擇器,數(shù)據(jù)選擇器根據(jù)對(duì)應(yīng)UART接口加ID到數(shù)據(jù)的高位,存入接收FIFO緩存器。數(shù)字ID邏輯讀取數(shù)據(jù),把ID轉(zhuǎn)換為地址,最后傳給總線接口輸出。圖5是本發(fā)明的多個(gè)波特率時(shí)鐘的示例圖。從圖5可以看出,在實(shí)例1,2的情況下,接口 0的波特率為32,而接口 1的波特率為4。接口 0的波特率乘以16為512,而接口 1 的波特率乘以16為64。波特率計(jì)數(shù)器的最大值為512和64的最小公倍數(shù),也就是為512。 在UART接口 0,1接收數(shù)據(jù)的情況下,當(dāng)計(jì)數(shù)器的值為4的倍數(shù)時(shí),波特率時(shí)鐘選擇邏輯產(chǎn)生UART接口 1的接收時(shí)鐘;當(dāng)計(jì)數(shù)器的值為32的倍數(shù)時(shí),波特率時(shí)鐘選擇邏輯產(chǎn)生UART 接口 0的接收時(shí)鐘。在UART接口 0,1發(fā)送數(shù)據(jù)的情況下,當(dāng)計(jì)數(shù)器的值為(4X16)的倍數(shù)時(shí),波特率時(shí)鐘選擇邏輯產(chǎn)生UART接口 1的發(fā)送時(shí)鐘;當(dāng)計(jì)數(shù)器的值為(16X32)的倍數(shù)時(shí),波特率時(shí)鐘選擇邏輯產(chǎn)生UART接口 0的發(fā)送時(shí)鐘。利用本發(fā)明的設(shè)備和方法具有如下效果
(1)實(shí)現(xiàn)了多個(gè)UART接口共享收發(fā)FIFO緩存器,和波特率發(fā)生器,各個(gè)UART接口可同時(shí)或單獨(dú)進(jìn)行數(shù)據(jù)的收發(fā),校驗(yàn)等工作;
(2)實(shí)現(xiàn)了許多片上集成系統(tǒng)SOC對(duì)多個(gè)UART通信接口的需要,節(jié)省了寄存器的空間, 控制簡(jiǎn)單,可以降低功耗,提高整體SOC的通信性能。盡管在上面已經(jīng)借助實(shí)施例描述了本發(fā)明以便本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或者使用本發(fā)明公開的內(nèi)容,但是以上這些實(shí)施例并不是窮舉的。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),對(duì)這些公開內(nèi)容的各種修改都是顯而易見的,并且本領(lǐng)域技術(shù)人員在本發(fā)明的精神和范圍之內(nèi)所得到的任何修改、變換、替換的技術(shù)方案均落入本發(fā)明的保護(hù)范圍之內(nèi)。此外,前述實(shí)施例中包含的各步驟、各部件之間的先后順序只是優(yōu)選的,而本發(fā)明并不僅限于此,本領(lǐng)域技術(shù)人員可以在不背離本發(fā)明精神的情況下對(duì)上述順序進(jìn)行調(diào)整,并且調(diào)整之后所得到的技術(shù)方案仍落入本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種具有多個(gè)UART接口的設(shè)備,所述多個(gè)UART接口具有多個(gè)波特率,其特征在于該設(shè)備包括總線接口,用于當(dāng)需要所述UART接口執(zhí)行發(fā)送操作時(shí)從總線接收與所述UART接口對(duì)應(yīng)的地址信息和數(shù)據(jù);與所述總線接口耦合的數(shù)據(jù)ID邏輯,用于將所述地址信息轉(zhuǎn)換為對(duì)應(yīng)UART接口的ID fn息;與所述數(shù)據(jù)ID邏輯耦合的發(fā)送緩存器,用于緩存所述ID信息和所接收的數(shù)據(jù);與所述發(fā)送緩存器耦合的數(shù)據(jù)選擇器,用于從所述發(fā)送緩存器讀取所接收的數(shù)據(jù)并且將所接收的數(shù)據(jù)發(fā)送到與所述ID信息對(duì)應(yīng)的UART接口 ;波特率時(shí)鐘電路,根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào);所述數(shù)據(jù)選擇器進(jìn)一步用于當(dāng)所述UART接口執(zhí)行接收操作后從UART接口接收數(shù)據(jù), 并保存對(duì)應(yīng)的ID信息;所述設(shè)備還包括與數(shù)據(jù)ID邏輯耦合并且與所述發(fā)送緩存器并行設(shè)置的接收緩存器, 用于緩存來(lái)自數(shù)據(jù)選擇器的所述ID信息和從UART接口所接收的數(shù)據(jù);所述數(shù)據(jù)ID邏輯進(jìn)一步用于將接收緩存器中的所述ID信息轉(zhuǎn)換為地址信息;所述總線接口進(jìn)一步用于將接收緩存器中的從UART接口接收的數(shù)據(jù)和所述轉(zhuǎn)換后的地址信息通過(guò)總線輸出。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于所述波特率時(shí)鐘電路包括波特率時(shí)鐘選擇邏輯和波特率發(fā)生器。
3.根據(jù)權(quán)利要求2所述的設(shè)備,其特征在于所述波特率發(fā)生器包括波特率計(jì)數(shù)器,其計(jì)數(shù)器的最大值為各個(gè)UART接口波特率系數(shù)乘以16后的最小公倍數(shù)。
4.根據(jù)權(quán)利要求3所述的設(shè)備,其特征在于如果波特率計(jì)數(shù)器的值為對(duì)應(yīng)UART接口的波特率系數(shù)的倍數(shù),則波特率時(shí)鐘選擇邏輯產(chǎn)生對(duì)應(yīng)的接收時(shí)鐘。
5.根據(jù)權(quán)利要求3所述的設(shè)備,其特征在于當(dāng)所述UART接口需要執(zhí)行發(fā)送操作時(shí),如果波特率計(jì)數(shù)器的值為對(duì)應(yīng)UART接口的波特率系數(shù)乘以16的倍數(shù),則波特率時(shí)鐘選擇邏輯產(chǎn)生對(duì)應(yīng)的發(fā)送時(shí)鐘。
6.根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于所述UART接口包括數(shù)據(jù)收發(fā)邏輯。
7.根據(jù)權(quán)利要求1所述的設(shè)備,其特征在于所述發(fā)送緩存器和所述接收緩存器都是同步FIFO緩存器。
8.一種利用權(quán)利要求1所述的設(shè)備發(fā)送數(shù)據(jù)的方法,包括如下步驟1)總線接口從總線接收與所述UART接口對(duì)應(yīng)的地址信息和數(shù)據(jù);2)數(shù)據(jù)ID邏輯將所述地址信息轉(zhuǎn)換為ID信息;3)發(fā)送緩存器緩存所述ID信息和所接收的數(shù)據(jù);4)數(shù)據(jù)選擇器從所述發(fā)送緩存器讀取所接收的數(shù)據(jù)并且將所接收的數(shù)據(jù)發(fā)送到與所述ID信息對(duì)應(yīng)的UART接口 ;5)波特率時(shí)鐘電路根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào);6)對(duì)應(yīng)的UART接口根據(jù)所述時(shí)鐘信號(hào),發(fā)送數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于所述步驟5)還包括以下步驟如果波特率計(jì)數(shù)器的值為對(duì)應(yīng)UART接口的波特率系數(shù)乘以16的倍數(shù),則波特率時(shí)鐘選擇邏輯產(chǎn)生對(duì)應(yīng)的發(fā)送時(shí)鐘。
10.一種利用權(quán)利要求1所述的設(shè)備接收數(shù)據(jù)的方法,包括如下步驟1)波特率時(shí)鐘電路根據(jù)所述多個(gè)UART接口的波特率產(chǎn)生所述多個(gè)UART接口所需要的時(shí)鐘信號(hào);2)UART接口根據(jù)所述時(shí)鐘信號(hào),接收數(shù)據(jù);3)數(shù)據(jù)選擇器從所述UART接口接收所述數(shù)據(jù)和保存對(duì)應(yīng)的ID信息;4)接收緩存器緩存所接收的數(shù)據(jù)和ID信息;5)數(shù)據(jù)ID邏輯將所述ID信息轉(zhuǎn)換為地址信息;6)將所接收的數(shù)據(jù)和地址信息傳輸給總線接口。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于所述步驟1)還包括以下步驟如果波特率計(jì)數(shù)器的值為對(duì)應(yīng)UART接口的波特率系數(shù)的倍數(shù)時(shí),則波特率時(shí)鐘選擇邏輯產(chǎn)生對(duì)應(yīng)的接收時(shí)鐘。
全文摘要
公開具有多個(gè)UART接口的設(shè)備及方法。包括總線接口,需UART接口發(fā)送時(shí)從總線接收地址信息和數(shù)據(jù);數(shù)據(jù)ID邏輯,將地址信息轉(zhuǎn)換為對(duì)應(yīng)ID信息;發(fā)送緩存器,緩存ID信息和接收的數(shù)據(jù);數(shù)據(jù)選擇器,從發(fā)送緩存器讀取接收的數(shù)據(jù)且將其發(fā)送到對(duì)應(yīng)的UART接口;波特率時(shí)鐘電路,根據(jù)UART接口的波特率產(chǎn)生時(shí)鐘信號(hào);數(shù)據(jù)選擇器還當(dāng)UART接口執(zhí)行接收后從UART接口接收數(shù)據(jù),并保存對(duì)應(yīng)的ID信息;還包括接收緩存器,緩存來(lái)自數(shù)據(jù)選擇器的ID信息和數(shù)據(jù);數(shù)據(jù)ID邏輯還將接收緩存器中的ID信息轉(zhuǎn)換為地址信息;總線接口還將接收緩存器中的數(shù)據(jù)和地址信息通過(guò)總線輸出。
文檔編號(hào)G06F13/38GK102567260SQ20101060721
公開日2012年7月11日 申請(qǐng)日期2010年12月27日 優(yōu)先權(quán)日2010年12月27日
發(fā)明者樊廣超 申請(qǐng)人:北京國(guó)睿中數(shù)科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宾阳县| 北川| 伊宁县| 婺源县| 朔州市| 定边县| 濮阳县| 澎湖县| 响水县| 富顺县| 宜兰市| 错那县| 健康| 化隆| 阿鲁科尔沁旗| 若尔盖县| 那坡县| 龙门县| 平和县| 怀集县| 商洛市| 富宁县| 深州市| 大安市| 青冈县| 诏安县| 白山市| 澎湖县| 太仓市| 阳新县| 潜山县| 乌拉特后旗| 鸡泽县| 湄潭县| 六安市| 兴国县| 于都县| 麦盖提县| 应用必备| 巴林左旗| 故城县|