Maxim Integrated首款兼容家庭總線系統(tǒng)(HBS)的收發(fā)器MAX22088提高了惡劣工業(yè)環(huán)境的性能。MAX22088設計用于家庭總線系統(tǒng),不限于這些網(wǎng)絡。本應用筆記演示了使用MAX22088 HBS兼容收發(fā)器對UART數(shù)據(jù)包進行編碼和發(fā)送的簡單解決方案。
介紹
Maxim Integrated推出的MAX22088,這是其首款兼容家庭總線系統(tǒng)(HBS)的收發(fā)器。MAX22088符合HBS標準,但也可用于其他類型的通信系統(tǒng)。本應用筆記演示如何使用MAX22088 HBS兼容收發(fā)器和MAX32660微控制器生成和發(fā)送UART數(shù)據(jù)包。MAX32660微控制器用于為主收發(fā)器生成UART數(shù)據(jù)包,另一個MAX32660用于解碼遠端收發(fā)器接收的數(shù)據(jù)(圖1)。該方法使用兩塊MAX22088評估板進行了驗證;介紹并討論了測試數(shù)據(jù)和代碼示例。

圖1.簡化框圖
家庭總線系統(tǒng) (HBS) 標準
在當今的家庭自動化 (HA) 系統(tǒng)中,多個電器、設備和控制設備之間的信息交換需要標準化的通信協(xié)議來實現(xiàn)有效和強大的數(shù)據(jù)傳輸。HBS標準通過將這些設備連接到單個總線來簡化這些設備之間的通信,同時定義了同時提供電源和交換數(shù)據(jù)的傳輸標準。
MAX22088兼容HBS收發(fā)器支持在一對電線上傳輸數(shù)據(jù)和電源,用于HVAC等HBS應用以及遠程監(jiān)控和檢測。標準HBS接線方案不允許主時鐘信號同步輸入和輸出數(shù)據(jù)位。相反,與標準串行UART通信類似,數(shù)據(jù)轉換在總線上檢測并由接收電路解碼。
使用MAX22088 HBS收發(fā)器發(fā)送UART數(shù)據(jù)包
UART協(xié)議是一種異步串行數(shù)據(jù)通信標準。UART不是主時鐘同步輸出位,而是使用數(shù)據(jù)包中的開始位和停止位來檢測正在傳輸?shù)臄?shù)據(jù)。UART通信是大多數(shù)微控制器的通用集成功能,包括MAX32660。
標準 HBS 電纜將電源和數(shù)據(jù)從控制器傳輸?shù)较掠芜h程設備/節(jié)點。HBS數(shù)據(jù)傳輸使用替代標記反轉(AMI)和負邏輯編碼,占空比為50%,其中雙極性脈沖表示邏輯“0”。當收發(fā)器輸出處于高阻抗或非活動狀態(tài)時,會出現(xiàn)邏輯“1”。家庭總線通信的要求是總線上永遠不能有兩個同時邏輯“0”條件。這是為了避免在傳輸數(shù)據(jù)時線路出現(xiàn)飽和和功率問題。固件或通信軟件主要負責確保滿足此要求。
因此,UART數(shù)據(jù)包需要確保在正常的家庭總線系統(tǒng)中,每個邏輯“0”后面必須跟一個邏輯“1”。一個簡單的編碼解決方案是用邏輯“1”填充每隔一位。此方法使數(shù)據(jù)包長度加倍,并使UART通信的傳輸頻率減半。請注意,符合 HBS 標準的通信需要字符幀后面的奇偶校驗位,但此方法不包括奇偶校驗位。
MAX32660微控制器UART輸出包括8位數(shù)據(jù):一個起始位和一個停止位,但不包括奇偶校驗位。8位數(shù)據(jù)擴展到總共兩個數(shù)據(jù)包,并通過家庭總線傳輸(圖2)。
下面提供的代碼用于對 UART 數(shù)據(jù)包進行編碼。它將 8 位數(shù)據(jù)拆分并分配給數(shù)據(jù)包的偶數(shù)位,并為數(shù)據(jù)包的奇數(shù)位分配邏輯“1”。
for (i = 0; i < TX_Length; i++)
{
txdata[(i*2) + 0] = (( tx_text[i] & 0x08) << 3 ) +
(( tx_text[i] & 0x04) << 2 ) +
(( tx_text[i] & 0x02) << 1 ) +
(( tx_text[i] & 0x01)) + 0xaa;
txdata[(i*2) + 1] = (( tx_text[i] & 0x80) >> 1 ) +
(( tx_text[i] & 0x40) >> 2 ) +
(( tx_text[i] & 0x20) >> 3 ) +
(( tx_text[i] & 0x10) >> 4 ) + 0xaa;
}
例如,如果要發(fā)送的數(shù)據(jù) (tx_text[i]) 是 0x35 (0b'00110101),則編碼數(shù)據(jù)包 (txdata[i]) 將為 0b'10101111, 0b'10111011。

圖2.通過家庭總線發(fā)送的編碼UART數(shù)據(jù)包
圖3顯示了使用帶編碼的家庭總線成功傳輸UART數(shù)據(jù)0x35。

圖3.在帶編碼的家庭總線中傳輸0x35(0b'00110101)
UART數(shù)據(jù)的編碼使得每個“0”后跟一個“1”,并且數(shù)據(jù)從總線正確發(fā)送和接收。HBS發(fā)射器的數(shù)據(jù)輸入和HBS接收器的數(shù)據(jù)輸出匹配;接收器側的MAX32660對輸出位進行解碼,無誤差。
-
微控制器
+關注
關注
48文章
8244瀏覽量
162114 -
收發(fā)器
+關注
關注
10文章
3793瀏覽量
110521 -
總線
+關注
關注
10文章
3014瀏覽量
91268 -
uart
+關注
關注
22文章
1304瀏覽量
106061
發(fā)布評論請先 登錄
TJA1043的收發(fā)器,如果CAN總線出現(xiàn)異常,它會進入異常狀態(tài)嗎?
高性能射頻收發(fā)器cc1101
收發(fā)器的傳輸速率
UART收發(fā)器設計實例
UART收發(fā)器的設計實例詳細說明
路由器的數(shù)據(jù)包是怎么傳輸的?
MAX22088:家用公交車系統(tǒng)兼容式收發(fā)器數(shù)據(jù)表 ADI
UART通用異步收發(fā)器原理是什么

如何使用家庭總線系統(tǒng)兼容收發(fā)器傳輸UART數(shù)據(jù)包
評論