SJXX串口擴展芯片
1 概述
SJ000是一款具備I2C總線/SPI總線/UART接口的四通道異步收發器件,通過模式選擇使得該器件工作于以上任何一種主接口模式下。器件的四個通道UART可提供高達2Mbps的數據率,低功耗模式和睡眠電流。每個通道含有一個接收器和一個發送器,并帶有64字節發送/接收FIFO,通道波特率、字長、校驗格式可獨立設置,也可以獨立設置IrDA紅外通信、RS-485自動收發控制、9位網絡地址自動識別、軟件/硬件自動流量控制、廣播接收等。器件還帶有可編程中斷功能,實現與主機的信息交互。
2 特征
2.1 通用特性
a) 3.3V工作電壓
b) 主接口可選擇為:I2C總線、SPI接口或UART接口
c) 子接口為:全雙工四通道UART
d) 子接口發送器帶有64字節發送FIFO
e) 子接口接收器帶有64字節接收FIFO,存儲有狀態標志及數據
f) 中斷方式時,可編程的發送和接收FIFO的觸發閾值
g) 軟件流/硬件流方式時,編程可選的接收FIFO觸發設置
h) 軟件流/硬件流控制特性,包括:
――可編程字Xon/Xoff
――可編程的自動RTS,和自動CTS
i) 支持自動/手動RS-485(自動網絡地址檢測)
j) 通過RTS信號的RS-485驅動器方向控制
k) RS-485驅動器方向極性可控制
l) 內置IrDA編碼器和譯碼器接口
m) 可編程的波特率產生器
n) 可編程的軟件/硬件睡眠模式控制
o) Line break的產生和檢測
p) 內部回送模式
q) 系統中斷控制
r) 紅外功能
s) 符合綠色環保無鉛封裝
2.2 I2 主接口特性
a) 400kbit/s(最大速率)
b) 僅為從機模式
c) 總線噪聲濾波
2.3 SPI主接口特性
a) 最高速率為5Mbit/s
b) 僅為從機模式
c) 16位,SPI模式0
2.4 UART主接口特性
a) 主接口為標準的UART串口,無需其它地址信號、控制信號線
b) 可編程波特率設置,最高速度可以達到2M bit/s
c) 可選擇的奇校驗,偶校驗和無校驗模式
d) UART主接口可以通過引腳設置為紅外模式
e) UART主接口可以通過引腳選擇是否采用轉義字符模式
2.5 UART子接口特性
a) 每個子串口為全雙工,每個子串口可以通過軟件開啟/關閉
b) 每個子串口波特率可以獨立設置
c) 每個子串口可以軟件設置為是否接收數據廣播
d) 每個子串口狀態查詢功能
e) 每個子串口提供可編程的串行接口特性,包括:
――8或9位字符長度
――奇校驗、偶校驗、強制校驗、無奇偶校驗的發生和檢測
――1或2個停止位產生和檢測
――校驗錯誤、幀錯誤及溢出錯誤檢測
f) FIFO特性
――每個子串口具備獨立的64級發送FIFO,發送FIFO具備4級可編程觸發點
――每個子串口具備獨立的64級接收FIFO,接收FIFO具備4級可編程觸發點
――增強功能下,發送/接收FIFO觸發點可獨立編程為4N,N=1、2…..15
――軟件FIFO使能和清空
――FIFO狀態和計數器輸出
g) 流量控制特性
――支持RTS、CTS的硬件自動流量控制
――支持XON/XOFF的軟件自動流量控制
――可編程XON/XOFF字符自動發送/識別
h) RS-485特性
――RTS控制的自動RS-485收發控制,且RTS極性可控制
――RS-485網絡地址自動識別功能
i) 錯誤檢測特性
――支持奇偶校驗錯,數據幀錯誤及溢出錯誤檢測
――支持起始位錯誤檢測
j) Line break的產生和檢測
k) 中斷特性
――接收/發送FIFO中斷
――接收錯誤中斷
――軟件/硬件流量控制中斷
――網絡地址中斷
――超時中斷
――各中斷特性可軟件開啟/關閉
l) 內置IrDA紅外收發編解碼器
2.6 應用領域
a) 多串口服務器/多串口卡
b) 工業/自動化現場RS-485控制
c) 通過CDMA/GPRS MODEM的無線數據傳輸
d) 車載信息平臺/車載GPS定位系統
e) 遠傳自動抄表(AMR)系統
f) POS/稅控POS/金融機具
g) DSP/嵌入式系統
3 訂購信息
器件型號 | 封裝類型 | ||
型號 | 說明 | ||
SJ214 | SOP20 | 封裝體尺寸:12.8mm X 7.5mm,引腳間距:1.27mm | |
SJ224 | |||
SJ234 | |||
SJ304 | QFN24 | 封裝體尺寸:4mm X 4mm,引腳間距:0.5mm | |
SJ000 | QFN40 | 封裝體尺寸:6mm X 6mm,引腳間距:0.5mm |
器件型號 | 接口 | 特性說明 | |
主接口 | 子接口 | ||
SJ214 | UART | UART | UART主接口,無硬件流量控制端口 |
SJ224 | SPI | UART | SPI主接口,無硬件流量控制端口 |
SJ234 | IIC | UART | IIC主接口,無硬件流量控制端口 |
SJ304 | UART/SPI/IIC | UART | 三種主接口,一個子口帶硬件控制端口 |
SJ000 | UART/SPI/IIC | UART | 三種主接口,四個子口帶硬件控制端口 |
4 封裝及引腳功能說明
SJ000采用的封裝,如下圖所示。
?
該芯片的各引腳功能描述見表1:
5 功能概述
系統的主要功能框圖和結構框圖分別如下圖所示。
SJ000實現I2C總線、SPI接口或UART接口與四個子UART之間的數據收發功能,主接口可以通過I2C/SPI/UART的方式將數據寫入的子UART,通過TX端口串行發送出去,也可以將子UART的RX串行接收的數據通過I2C/SPI/UART的方式送給外部單片機。
SJ000可以設置為FIFO模式或非FIFO模式,通過緩沖接收/發送的字符降低主機過多的軟件開銷。接收和發送FIFO都可存儲多達64字節(包括接收器FIFO的每字符4個附加狀態位)的數據,并且具有可以選擇或者可以編程設置的觸發閾值。
SJ000具有可選擇的軟件流和硬件流控制,這兩種機制都可以通過自動控制串行數據流來減小軟件的開銷和提高系統的效率。硬件流使用RTSn管腳輸出和CTSn管腳輸入,軟件流使用可編程的Xon和Xoff字。
SJ000具有可編程波特率發生器,它可通過改變分頻比,實現波特率的切換。
5.1 復位與上、下電
SJ000上電完成后,與其相連接的端口方可允許輸入高電平邏輯;
SJ000通過RSTN端進行全芯片復位,復位電平為低電平。
5.2 時鐘選擇
通過CLKSEL端,可選擇使用晶振時鐘或外部輸入的時鐘EXTCLK。
CLKSEL端為低電平時,使用晶振時鐘;
CLKSEL端為高電平時,使用外部時鐘EXTCLK;
CLKSEL帶下拉電阻,懸空時,選擇使用晶振時鐘。
5.3 中斷控制
當IRQ引腳指示有中斷時,可以通過讀取全局中斷寄存器GIR以判斷當前中斷的類型,然后去讀取相應的中斷狀態寄存器,以確定當前的中斷源。
每個子串口都有獨立的中斷系統,包括:超時中斷、FIFO數據錯誤中斷,接收地址中斷(RS-485模式),XOFF發送中斷,RTS中斷,CTS中斷,發送FIFO觸發點中斷,接收FIFO觸發點中斷。
當任意一個中斷使能后,滿足中斷條件就會產生相應的中斷。
通過GCR寄存器的IFMASK控制位,全局/子串口的中斷狀態寄存器有兩種模式:
1) IFMASK=1,中斷狀態位的值 = 中斷狀態位使能信號 & 內部狀態;
2) IFMASK=0,中斷狀態位的值 = 內部狀態;
5.3.1 超時中斷
芯片進入超時的條件為:
1) 接收FIFO至少有一個數據;
2) 子口的RX端長時間沒有數據接收,默認為4個字節時間長度,由子串口寄存器
SECTLR 的STIM控制可選4、8、16、32字節時間長度;
3) 母口長時間沒有對接收FIFO進行讀操作,默認為4個字節時間長度,由全局寄存器GCR的STIM控制可選4、8、16、32字節時間長度;
當超時中斷發生時,主接口進行了讀FIFO操作、或子串口RX端收到數據即可清除該中斷。
5.3.2 FIFO數據錯誤中斷
FIFO數據錯誤中斷表明當前接收FIFO 中有一個或以上的數據錯誤,產生錯誤的條件包括OE (數據溢出錯誤)、FE(數據幀錯誤)、PE(奇偶校驗錯)以及BI(檢測到Break)。一旦有接收FIFO 中有出錯數據,將產生該中斷,直到接收FIFO中的所有出錯數據都被讀取后,該中斷才被清除。該中斷清除后表明當前接收FIFO 中沒有出錯數據。
5.3.3 接收地址中斷
該中斷僅當工作在RS-485模式時產生。在RS-232模式下不會產生該中斷。
在自動地址識別模式下,子串口接收到與其設定地址一致的地址字節時,產生該中斷。直到
在手動地址識別模式下,一旦接收到地址字節,都將產生該中斷。
當讀取中斷標志寄存器SIFR被讀取后,該中斷自動清除。
5.3.4 發送XOFF中斷
在軟件自動流量控制模式下,當子口RX接收到XOFF字符時產生該中斷。當讀取中斷標志寄存器SIFR、或接收到XON字符時,該中斷被清除。
5.3.5 RTS中斷
在自動或手動硬件流量控制模式下,當RTS信號從0變為1時,都可以產生該中斷。
在自動硬件流量控制模式下,當讀取中斷標志寄存器SIFR、或接收FIFO中的數據個數降低到設定的繼續發送觸發點時,該中斷被清除。
手動硬件流量控制模式下,向寄存器SECTLR 的SRTS寫入0將清除該中斷。
5.3.6 CTS中斷
在自動或手動硬件流量控制模式下,當CTS信號從0變為1時,將產生該中斷;當讀取中斷標志寄存器SIFR后將清除該中斷。
5.3.7 發送FIFO觸發點中斷
當發送FIFO中的數據個數小于設定的發送FIFO觸發點時,產生該中斷;當讀取中斷標志寄存器SIFR、或當發送FIFO中的數據個數大于設定的發送FIFO觸發點時,該中斷被清除。
5.3.8 接收FIFO觸發點中斷
當接收FIFO中的數據個數大于設定的發送FIFO觸發點時,產生該中斷。當接收FIFO中的數據個數小于設定的發送FIFO觸發點時,該中斷被清除。
5.4 廣播模式操作
SJ000支持子串口通道可獨立配置的數據廣播模式。
首先通過設置全局寄存器GCR中的GBDEN位,將主口的全局廣播設置為使能,然后設置需要接收廣播數據的相應子串口通道的SCTLR的RDBEN位,使得該通道可以接收數據廣播。
設置完成后,主口發往任意通道的數據都能被設置為接收廣播使能的子串口接收,而未設置接收數據廣播的子串口將會忽略這些數據。
5.5 紅外模式操作
SJ000的主串口和子串口都可以設置成為紅外通信模式。當SJ000的UART設置為IrDA模式時,可以與符合SIR紅外通信協議標準的設備通信,或者直接應用于光隔離通信中。
在IrDA模式下,一位數據的周期縮短到普通UART一位數據的3/16,小于1/16波特周期的脈沖將被作為干擾而忽略。
5.6 可編程波特率發生器
SJ000的主串口和子串口采用相同的獨立可編程波特率發生器。該波特率發生器產生固定十六分之一系統時鐘的波特率,分頻因子可以通過軟件設置。
下表給出了在不同系統時鐘頻率下的串口波特率設置表,其中標深色底的為復位后默認值。
5.7 數據校驗模式
SJ000的UART能提供強制校驗,計算校驗和無校驗的數據格式,通過SCONR(子串口配置寄存器)進行設置:
1) 強制校驗模式
SJ000支持強1校驗,強0校驗和用戶校驗模式。在用戶校驗模式下,串口的第9bit數據被bypass,芯片不處理該數據。
在RS-485模式下,推薦使用強制校驗模式,在該模式下,可以很方便的區分數據和地址。
2) 計算校驗模式
SJ000支持1校驗、0校驗,奇校驗、偶校驗模式。在該模式下,接收和發送的數據都進行奇偶校驗計算。
5.8 休眠和自動喚醒
SJ000支持軟件/硬件休眠和自動喚醒模式,在軟件/硬件休眠模式下,SJ000的系統時鐘將停止以降低功耗。
進入軟件休眠的條件為:
1) 向GCR的IDLE位寫入1;
2) 主口SCS、MRX或SDA為空閑,且空閑時間超過了TIM寄存器設置的字符長度;
3) 子口RX為空閑,且空閑時間超過了STIM寄存器設置的字符長度;
4) RX FIFO為空;
5) TX FIFO和TX移位寄存器為空;
6) 沒有中斷等待處理;
在軟件休眠模式下,可以被主口和子串口自動喚醒:
1) 復位芯片時,SJ000的系統時鐘將會被自動喚醒,進入正常收發。
2) SPI主接口模式下,一旦主口SCS或子串口RX有數據改變,SJ000的系統時鐘將會被自動喚醒,進入正常收發。
3) UART主接口模式下,一旦主口MRX或子串口RX有數據改變,SJ000的系統時鐘將會被自動喚醒,進入正常收發。
4) I2C主接口模式下,一旦子串口RX有數據改變,SJ000的系統時鐘將會被自動喚醒,進入正常收發。
在硬件休眠模式下,也即控制PDN端口為低電平時,芯片直接進入休眠模式,PDN端口為高電平時,系統時鐘將會被喚醒,進入正常收發。
5.9 數據長度
SJ000支持8位或9位數據,以及1位或2位停止位模式。
6 寄存器描述
SJ000的寄存器按地址編號為6位地址編號,地址000000~111111,分為全局寄存器和子串口寄存器。
6.1 全局寄存器列表
全局寄存器共計16個,全局寄存器的地址如下表所示。
6.2.1 GCR全局控制寄存器:(00_0001)
6.2.3 GIR全局中斷寄存器:(00_0011)
6.2.5 GXON全局XON字符寄存器:(01_0010)
6.3 子串口寄存器列表
每一個子串口寄存器共計12個,其排列為:(C1,C0)、REG[3:0],其中高兩位(C1,C0)為子串口通道號,低4位REG[3:0]為寄存器地址,按低4位的寄存器地址如下表所示。
?
6.4 子串口寄存器描述
6.4.1 SECTLR子串口擴展控制寄存器:(0100)
...
6.4.2 SESR子串口擴展狀態寄存器:(0101)
...
6.4.3 SCTLR子串口控制寄存器:(0110)
...
6.4.4 SCONR子串口配置寄存器:(0111)
...
6.4.5 SFWCR子串口流量控制寄存器:(1000)
...
6.4.6 SFOCR子串口FIFO 控制寄存器:(1001)
...
6.4.7 SADR子串口自動識別地址寄存器:(1010)
...
6.4.8 SIER子串口中斷使能寄存器:(1011)
...
6.4.9 SIFR子串口中斷標志寄存器:(1100)
...
6.4.10 SSR子串口狀態寄存器:(1101)
...
6.4.11 SFSR子串口FIFO 狀態寄存器:(1110)
...
6.4.12 子串口FIFO 數據寄存器:(1111)
...
7 主接口操作
7.1 SPI主接口
7.1.1 SPI接口信號
端口M1=0,端口M0=0時,選擇使用SPI作為主接口,SPI接口包括如下四個信號:
SDI:SPI數據輸入;
SDO:SPI數據輸出;
SCLK:SPI串行時鐘;
SCS:SPI片選(從屬選擇)。
SPI 接口的操作時序如下圖所示:
7.1.2 SPI接口操作時序
SJ000 工作在SPI同步串行通信的從機模式下 ,支持SPI模式0 標準。為實現主機和SJ000的通信,在主機端需要設置CPOL=0(SPI時鐘極性選擇位),CPHA=0(SPI時鐘相位選擇位)。
SJ000 SPI接口的操作時序如下圖所示:
注意BIT15最開始發送或接受。
?
7.1.3 SPI總線協議描述
...
7.2 I2 主接口
7.2.1 I2 接口信號
端口M1=1,端口M0=0時,選擇使用I2C作為主接口,I2C接口包括如下四個信號:
SDA:I2C串行數據輸入/輸出;
SCL:I2C串行時鐘;
IA1:I2C地址選,MSB;
IA0:I2C地址選,LSB。
本芯片I2C接口僅作為從機使用。
7.2.2 I2 接口操作時序
SJ000 I2C接口的操作時序如下面協議描述所示。
7.2.3 I2 總線協議描述
...
8 子串口描述
8.1 子串口使能/禁止
SJ000 允許獨立使能或禁止每個子串口通道。
在使用中可以禁止不使用的子串口通道以降低功耗。
子串口通道只有處在使能狀態才能接收和發送數據。
8.2 收發FIFO控制
SJ000 提供了獨立的64級FIFO接收和發送FIFO。接收FIFO包含額外的4個bit,用于存儲錯誤狀態(BI、FE、PE、校驗位)。相關操作通過SFOCR(子串口FIFO控制寄存器)進行設置。
8.2.1 發送FIFO觸發點操作
SJ000 為每個通道提供獨立的可編程發送FIFO觸發點設置,以產生相應的發送FIFO觸發點中斷。
當發送FIFO觸發點中斷使能時,發送FIFO中的數據數目小于設定的觸發點時產生相應中斷。
8.2.2 接收FIFO觸發點操作
SJ000 為每個通道提供獨立的可編程接收FIFO觸發點設置,以產生相應的接收FIFO觸發點中斷。
當接收FIFO觸發點中斷使能時,接收FIFO中的數據數目大于設定的觸發點時產生相應中斷。
8.2.3 發送FIFO的使能/禁止
復位后,發送FIFO處于禁止狀態。如果希望將數據寫入發送FIFO,需要首先使能發送FIFO。
發送FIFO中的數據是否發送,取決于相應的子通道UART是否使能。一旦相應子通道UART處于使能狀態,則發送FIFO中的數據將會立即發送,否則,發送FIFO中的數據將不會被發送,直到相應的子通道被使能。
8.2.4 接收FIFO的使能/禁止
復位后,接收FIFO處于禁止狀態。如果希望接收子串口數據,需要首先使能相應的子串口通道及其接收FIFO。只有相應的UART和接收FIFO使能后,接收到的數據才能寫入接收FIFO存儲。
如果子串口通道使能而接收FIFO禁止,子串口能接收數據,但數據將寫入內部RHR,而不會寫入接收FIFO,主口可以通過讀取數據寄存器來訪問該數據。
8.2.5 發送FIFO清空
當SFOCR中發送FIFO清空位(TFCL)被置1時,該子通道發送FIFO中的數據將被清空,發送FIFO計數器和指針都將清零。
TFCL位被置1后,將會在一個時鐘后被硬件自動清0。
8.2.6 接收FIFO清空
當SFOCR中接收FIFO清空位(RFCL)被置1時,該子通道接收FIFO中的數據將被清空,接收FIFO計數器和指針都將清零。
RFCL位被置1后,將會在一個時鐘后被硬件自動清0。
8.2.7 發送FIFO計數器
SJ000 用寄存器中的6位TCNT來反應當前發送FIFO中的數據數目:當一個字節的數據寫入發送FIFO后,發送FIFO計數器自動加1;當一個發送FIFO中的數據被發送后,發送FIFO計數器自動減1。
注意:當發送FIFO計數器為63(111111)時,如果再寫入一個數據則計數器變為0(000000)。當發送FIFO計數器為1(000001)時,發送一個數據之后則計數器也變為0(000000)。因此,當發送FIFO計數器為0時,表明發送FIFO滿或者空,在這種情況下,需要結合子串口狀態寄存器(SSR/ SESR)中的相關狀態位進行判斷。
8.2.8 接收FIFO計數器
SJ000用寄存器中的6位RCNT來反應當前接收FIFO中的數據數目:當一個字節的數據寫入接收FIFO后,接收FIFO計數器自動加1;當一個接收FIFO中的數據被讀取后,接收FIFO計數器自動減1。
注意:當接收FIFO計數器為63(111111)時,如果再接收一個數據則計數器變為0(000000)。當接收FIFO計數器為1(000001)時,讀取一個數據之后則計數器也變為0(000000)。因此,當接收FIFO計數器為0時,表明接收FIFO滿或者空,在這種情況下,需要結合子串口狀態寄存器(SSR/ SESR)中的相關狀態位進行判斷。
8.3 流量控制
SJ000 提供硬件流量控制,軟件流量控制和手動流量控制三種模式可選擇。硬件流量控制通過CTS和RTS引腳實現流量控制,可以減少軟件開銷并提高系統效率。軟件流量控制通過XON和XOFF可編程特殊字符實現流量控制操作。相關操作通過SFWCR(子串口流量控制寄存器)設置。
在RS-485模式下,該功能被禁止。
8.3.1 觸發點控制
當SJ000 設置為自動軟件/硬件流量控制時:
SFWCR中的HRTL3–HRTL0用于設置暫停發送觸發點,當接收FIFO中的數據個數達到暫停發送觸發點時,SJ000 將發出暫停發送信號,以通知發送端暫停發送數據。
SFWCR中的PRTL3–PRTL0用于設置繼續發送觸發點,在暫停發送狀態下,主機口可以通過讀取數據操作讀取接收FIFO中的數據,當接收FIFO中的數據個數等于設置的繼續發送觸發點時,SJ000 將通知發送端繼續發送數據。
設置時,需要保證暫停發送觸發點大于繼續發送觸發點的數值。SJ000 不對該條件做自動判斷。
注意:HRTL3–HRTL 0或PRTL3–PRTL0為0時,觸發點將采用RFTL或TFTL設置的觸發點。
8.3.2 自動軟件流量控制操作
當SJ000 工作在自動軟件流量控制模式時,子串口通道通過RX發送和TX接收XOFF和XON字符實現軟件流量控制,無需其它控制線。XON和XOFF字符可以通過全局寄存器中的XON和XOFF寄存器設置。
在軟件流量控制模式下,傳輸的數據字節中不能出現XON和XOFF字符,否則將會被作為XON和XOFF控制字符,因此在軟件流量控制下,需要對數據中的XON和XOFF字符進行相應的轉義處理。
8.3.3 XON/XOFF發送操作
在自動軟件流量控制模式下,一旦數據接收端接收FIFO中數據的個數達到設定的觸發點時,為防止接收FIFO溢出,SJ000 將自動通過TX發送一個XOFF字符,數據發送端收到該XOFF字節后,發送完當前字節后即暫停數據發送。
發送端暫停數據發送后,接收端的主機接口讀取接收FIFO中的數據以釋放接收FIFO空間,當接收FIFO中數據的個數減少到繼續發送觸發點時,接收端向發送端發送一個XON字符,發送端接收到該字符后,將恢復數據發送。
8.3.4 XON/XOFF接收操作
在軟件流量控制模式下,SJ000 接收到數據后,首先會與XOFF中的數據進行比較,當接收到XOFF字符時,在發送完當前字節后即暫停數據發送。
數據暫停發送狀態下,接收到XON字符后,將恢復數據發送。
8.3.5 XON/XOFF可見設置
在軟件流量控制模式下,特殊字符XON/XOFF可以通過設置SFWCR(子串口流量控制寄存器)XVEN位,使之在主機端為可見或不可見。
當設置為可見時,XON和XOFF字符作為數據寫入接收FIFO。
當設置為不可見時,XON和XOFF字符將作為控制字符不被寫入接收FIFO。
8.3.6 自動硬件流量控制
當SJ000 的子串口工作在自動硬件流量控制模式時,包含自動RTS控制和自動CTS控制。分別通過硬件自動設置RTS信號和判斷CTS信號來實現硬件流量控制。
典型的硬件流量控制的通過器件A的RTS連接器件B的CTS,器件A的CTS連接器件B的RTS,將器件A和B都設置為硬件自動流量控制模式即可實現硬件的自動流量控制。
在硬件自動流量控制模式下,一旦數據接收端接收FIFO中數據的個數達到設定的觸發點時,為防止接收FIFO溢出,接收端將自動拉高RTS,數據發送端的相應的CTS變高,數據接收端檢測到CTS變高后,將發送完當前字節后即暫停數據發送。
發送端暫停數據發送后,接收端的主機接口讀取接收FIFO中的數據以釋放接收FIFO空間,當接收FIFO中數據的個數減少到繼續發送觸發點時,接收端的CTS自動變為低電平,發送端相應的RTS變為低電平,發送端檢測到RTS為低后,將恢復數據發送。
...
8.3.7 手動硬件流量控制
當SJ000 的子串口工作在手動模式下,可以通過手動寫RTS寄存器(SECTLR Bit2)拉高或拉低RTS引腳信號。
在該模式下,其它的操作與硬件自動流量控制一樣,只是RTS由相應的寄存器控制。手動設置RTS為1可以暫停數據發送端發送數據,設置RTS為0則數據發送端繼續發送數據。
8.4 RS-485操作
SJ000 的子串口支持RS-485自動收發控制模式和自動網絡地址識別模式,網絡地址可見設置。
8.4.1 RS-485自動收發
在RS-485模式下,流量控制將被禁止。RTS信號用于控制RS-485收發器的自動收發控制。
默認情況下,只有在發送數據時,RTS才為高,其它情況下,RTS都保持低。可以通過設置寄存器(SECTLR的 Bit2)改變RTS極性。
SJ000 和RS-485 的收發器的連接如圖:
...
8.4.2 網絡地址和自動地址識別
RS-485 模式下,每個UART 有一個唯一的網絡地址,SJ000 提供了一個8 位寄存器進行RS-485網絡設置。
當自動網絡地址識別功能使能時,SJ000 對接收到的數據進行自動識別。
如果接收到的數據為數據字節或者是與SADR 中地址字節不匹配的地址字節時,SJ000 忽略這些數據。
如果該子串口接收到的數據為地址字節(即第9bit為1,表征為地址字節),且與SADR中的數據匹配,則SJ000 進入接收狀態,將該地址字節后的數據字節寫入接收FIFO 中。
當該子串口在數據接收狀態下,接收到一個地址字節,且該字節與SADR不匹配時,接收將被自動禁能。
8.4.3 自動和手動地址識別
RS-485模式下,SCONR子串口配置寄存器中的AOD位為數據地址選擇位。其默認值為1,表明該子串口只接收地址字節而忽略數據字節。
在RS-485自動地址模式下,當接收到的地址與SADR的地址一致時,AOD將自動變為0,此時該子串口可以繼續接收數據。當子串口接收到的下一個地址字節與SARD的地址不一致時,AOD位將自動置1,不再接收其后的數據字節。
在RS-485手動地址識別模式下,RS-485地址由上層軟件判斷,AOD位需要手動設置。AOD設置為0時表明可以接收其后的所有數據,當AOD設置為1時,表明將忽略除了地址以外的所有數據。當接收到地址字節時,SJ000 將產生中斷,通知MCU將收到的地址字節進行判斷,以決定是否設置AOD以接收其后的數據。
8.4.4 網絡地址可見設置
當子串口設置為手動地址識別模式時,RS-485網絡地址總是可見。
在子串口設置為自動地址識別模式時,可以設置SCONR子串口配置寄存器中的AVEN位,改變網絡地址可見屬性。當設為地址可見時,接收到的網絡地址進入接收FIFO,否則將被忽略。
9 參數指標
9.1 極限工作條件
...
10 機械尺寸
10.1 QFN40
略。。。