C-Bus က SPI နဲ႔ ခပ္ဆင္ဆင္တူပါတယ္။ ေအာက္မွာ ဇယားနဲ႔ ကြာျခားပံုေတြကို ျပထားပါတယ္။
ဒါေပမယ့္ SPI မွာ command ေတြမလိုပဲ C-Bus မွာေတာ့ command ေတြသံုးရပါတယ္။ ဘာေၾကာင့္လည္းဆိုေတာ့ သူ႔မွာ mode ေတြရွိလို႔ပါ။ အေပၚသံုးခုက Modem mode ေတြျဖစ္ၿပီး ေအာက္ဆံုးတစ္ခုက DTMF (Dual Tone Multi-Frequency) mode ျဖစ္ပါတယ္။
- Bell 103 300bps (FSK High band (Answering modem))/ (Low band (Calling modem))
- V.23 FSK (1200bps/ 75bps)
- Bell 202 FSK (1200bps/ 150bps)
- DTMF / Tones
ဆိုၿပီး mode ေတြရွိပါတယ္။ အားလံုးအတြက္ commands က အတူတူပါပဲ။ အားသာခ်က္ကေတာ့ ကိုယ္လိုခ်င္တဲ့ speed (baud rate) ကိုတြက္ခ်က္ၿပီး ႀကိဳက္တဲ့ mode သံုးလို႔ရတာပါပဲ။ ကၽြန္ေတာ္တို႔ ပံုမွန္သံုးေနတဲ့ DTMF communication က 220 baud ေလာက္ပဲ ရပါတယ္။ Radio Channel ေပၚတင္လိုက္တဲ့ အခါမွာ 100 baud ေလာက္ေတာင္မက်န္တဲ့အတြက္ CMX865 ဆိုတဲ့ IC ကို သံုးခ်င္တဲ့အတြက္ အဲဒီ IC ကလက္ခံတဲ့ C-Bus ကို ေလ့လာရတာပါ။
command ေတြကေတာ့ -
General Reset Command (address only, no data). Address = $01
General Control Register, 16-bit write only. Address = $E0
Transmit Mode Register, 16-bit write-only. Address = $E1
Receive Mode Register, 16-bit write-only. Address = $E2
Transmit Data Register, 8-bit write only. Address = $E3
Receive Data Register, 8-bit read-only. Address = $E5
Status Register, 16-bit read-only. Address = $E6
Programming Register, 16-bit write-only. Address = $E8
ဒါက CMX865 ပါ။ သူနဲ႔ ဆက္စပ္တဲ့ components diagram ကိုပါ တင္ေပးလိုက္ပါတယ္။ coding ကိုေတာ့ ေနာက္ထပ္တင္ေပးပါမယ္။
ဒါေပမယ့္ SPI မွာ command ေတြမလိုပဲ C-Bus မွာေတာ့ command ေတြသံုးရပါတယ္။ ဘာေၾကာင့္လည္းဆိုေတာ့ သူ႔မွာ mode ေတြရွိလို႔ပါ။ အေပၚသံုးခုက Modem mode ေတြျဖစ္ၿပီး ေအာက္ဆံုးတစ္ခုက DTMF (Dual Tone Multi-Frequency) mode ျဖစ္ပါတယ္။
- Bell 103 300bps (FSK High band (Answering modem))/ (Low band (Calling modem))
- V.23 FSK (1200bps/ 75bps)
- Bell 202 FSK (1200bps/ 150bps)
- DTMF / Tones
ဆိုၿပီး mode ေတြရွိပါတယ္။ အားလံုးအတြက္ commands က အတူတူပါပဲ။ အားသာခ်က္ကေတာ့ ကိုယ္လိုခ်င္တဲ့ speed (baud rate) ကိုတြက္ခ်က္ၿပီး ႀကိဳက္တဲ့ mode သံုးလို႔ရတာပါပဲ။ ကၽြန္ေတာ္တို႔ ပံုမွန္သံုးေနတဲ့ DTMF communication က 220 baud ေလာက္ပဲ ရပါတယ္။ Radio Channel ေပၚတင္လိုက္တဲ့ အခါမွာ 100 baud ေလာက္ေတာင္မက်န္တဲ့အတြက္ CMX865 ဆိုတဲ့ IC ကို သံုးခ်င္တဲ့အတြက္ အဲဒီ IC ကလက္ခံတဲ့ C-Bus ကို ေလ့လာရတာပါ။
command ေတြကေတာ့ -
General Reset Command (address only, no data). Address = $01
General Control Register, 16-bit write only. Address = $E0
Transmit Mode Register, 16-bit write-only. Address = $E1
Receive Mode Register, 16-bit write-only. Address = $E2
Transmit Data Register, 8-bit write only. Address = $E3
Receive Data Register, 8-bit read-only. Address = $E5
Status Register, 16-bit read-only. Address = $E6
Programming Register, 16-bit write-only. Address = $E8
ဒါက CMX865 ပါ။ သူနဲ႔ ဆက္စပ္တဲ့ components diagram ကိုပါ တင္ေပးလိုက္ပါတယ္။ coding ကိုေတာ့ ေနာက္ထပ္တင္ေပးပါမယ္။