安全氣囊系統(tǒng)中專用總線解決方案--DSI BUS
DSI BUS的編碼方式
在DSI BUS中,數據從Master節(jié)點到Slave節(jié)點使用電壓傳遞模式,數據從Slave節(jié)點到Master節(jié)點使用電流傳遞模式。DSI BUS的電壓傳遞模式編碼比較獨特,將每位的傳遞時間分為三份,每一位的前2/3為低電平,后1/3為高電平表邏輯0,每一位的前1/3為低電平,后2/3為高電平表邏輯1。例:圖4為通過DSI BUS發(fā)送了短指令字0x18。
DSI BUS的數據鏈路層
DSI BUS中每幀數據為一條命令,數據為全雙工,既Master發(fā)出命令,同時,Slave響應,Slave對當前命令的響應會在下條命令發(fā)出時返回。命令分長字命令和短字命令兩種,長命令字有效數據為16位和0-8位CRC校驗,短命令字為8-15位有效數據和0-8位CRC校驗。圖4為1條短命令字,8位的有效數據為0x18和4位的CRC校驗碼。
DSI BUS的地址分配
DSI BUS中,Slave節(jié)點地址共4位二進制碼,從0001到1111,因此,每個DSI BUS最多接15個Slave節(jié)點,當命令字中地址為0000時,為向所有Slave節(jié)點同時發(fā)出命令。
對Slave節(jié)點分配地址的方式有兩種,一種是系統(tǒng)中所有節(jié)點接成菊花鏈形式,當系統(tǒng)上電后,Master逐一對Slave分配地址,這種稱為可編程方式(Programmable)。另一種是預編程方式(PRE Programmed),既從節(jié)點器件在接入DSI BUS前預先編好地址。在支持DSI BUS的Slave器件中,有一個作用于電源和信號線的開關,對于預編程的器件,上電時器件的開關是斷開的,因為第一個Slave的開關是斷開的,所以總線上數據只能到達第一個Slave器件,當Master發(fā)出初始化命令初始化第一個地址并閉合開關后,總線數據便能到達第二個Slave器件,再同樣對第二個Slave節(jié)點初始化。以此類推,直至每一個Slave器件都被設定地址后,總線上Slave節(jié)點才開始工作。
DSI BUS的命令
不論是長字命令還是短字命令,DSI BUS的命令字只有4位,因此共有0000-1111共16條命令,無論節(jié)點上的設備的是傳感器還是開關量輸入或輸出,總線都是通過這些命令來定義或控制這些節(jié)點。所有總線上的節(jié)點(Slave內部開關閉合情況下)都會對這些命令解碼并響應相應的命令。
如0000命令既初始化命令,它用于為可編程方式的節(jié)點設定地址,同時還可以通過這條指令控制內部有開關的從節(jié)點內的開關打開或閉合。
傳感器信號和如安全帶是否扣好等一些開關量信號都可以通過DSI BUS傳遞給ECU板,同時ECU板還可以通過DSI BUS傳遞一些控制信號,如實現(xiàn)傳感器的自檢測功能的操作,點亮LED燈等。同時,ECU板通過DSI BUS也為從節(jié)點設備如傳感器提供了供電,有效減少了氣囊系統(tǒng)的布線,提高了系統(tǒng)可靠性。
DSI BUS作為氣囊的專用總線具有很好可靠性。通過CRC校驗,DSI BUS可以避免由信號傳輸錯誤造成的誤動作;當信號線出現(xiàn)斷路時,DSI BUS的器件并不會因此損壞,并且可通過對Slave器件中開關進行操作,斷開發(fā)生問題的部分,使總線連接正常的部分工作;甚至可以通過兩個Master(另一個作為備用)分別連接在一條總線的兩端,這樣即使信號線上一點出現(xiàn)問題,一個Master因此不能控制所有的Slave節(jié)點,DSI BUS仍能通過另一個備用Master控制剩余的節(jié)點;一些Master的接口芯片(如飛思卡爾的MC33780)還支持差分信號輸出(圖4)和具有頻譜延展功能,這樣可以有效降低總線的EMI(電磁干擾)。
圖4:DSI BUS的短命令字0x18
評論