Monday, 17 September 2007

Microcontroller & Peripheral Devices

Microcontroller ေတြမွာ အျခားေသာ peripheral device ေတြနဲ႔ခ်ိတ္ဆက္တဲ့အခါ Protocol ေတြသံုးရပါတယ္။ UART, SPI, I2C, FIFO ဆိုၿပီး Protocol အမ်ိဳးမ်ိဳးရွိပါတယ္။ အဲဒီထဲမွာ အသံုးအမ်ားဆံုးက SPI ပါ။ ဘာလို႔သံုးရသလဲဆိုေတာ့ communicate လုပ္ရတာလြယ္လုိ႔ပါ။ standard လည္းနည္းလို႔ပါ။ Peripheral Device ေတြကေတာ့ ...
- Converters (ADC, DAC)
- Memories (EEPROM, Flash)
- Real Time Clock (RTC)
- Sensors (Temperature, Pressure)
- Others (Signalmixer, Potentiometer, UART, CAN controller, USB devices, Amplifier)
.... ေတြပါပဲ။
SPI ဆိုတာ Serial Peripheral Interface သူ႕မွာ Master နဲ႔ Slave ဆိုၿပီးရွိပါတယ္။ Microprocessor ကအျမဲတမ္း Master ျဖစ္ၿပီး peripheral ေတြက Slave ပါ။ 4 Channels သံုးရပါတယ္။ SCLK (Slave Clock), MOSI (Master Out Slave In), MISO (Master In Slave Out), SS (Slave Select) ေတြပါ။ ေအာက္ကပံုက Master & Slaves ခ်ိတ္ဆက္တဲ့ပံုပါ။ Slave က တစ္ခုတည္းလည္းရွိႏိုင္ပါတယ္။

Mode မွာ ၄ ခုရွိပါတယ္။ Mode 0, 1, 2, 3 ေတြပါ။ CPOL (Clock Polarity) နဲ႔ CPHA (Clock Phase) ေပၚမွာမူတည္ၿပီး Mode ကြဲျပားပါတယ္။ Operation အစမွာ Clock က Low ဆိုရင္ CPOL=0 ပါ။ High ဆိုရင္ CPOL=1 ပါ။ ေနာက္ၿပီး Data bit က Clock ရဲ႕ Falling Edge မွာ Sampling လုပ္တယ္ဆိုရင္ CPHA=0 ျဖစ္ၿပီး Raising Edge မွာ Sampling လုပ္တယ္ဆိုရင္ CPHA=1 ပါ။ ေအာက္မွာ Mode ေတြျခားနားပံုကိုျပထားပါတယ္။

အခုလို အတိုေကာက္ ခြဲမွတ္လို႔ရပါတယ္။
SPI Mode CPOL CPHA

0 0 0
1 0 1
2 1 0
3 1 1

Default Mode က 0 ပါ။ ဒါမွမဟုတ္ သက္ဆိုင္တဲ့ Device က သတ္မွတ္ထားတဲ့ Mode ရွိေနမွာပါ။ Software မွာ Mode ကုိ ထည့္သြင္းစဥ္းစားစရာ မလိုပါဘူး။

MSB = Most Significant Bit ေရွ႕ဆံုး Data bit
LSB = Last Significant Bit ေနာက္ဆံုး Data bit

1 comment:

  1. ကိုမိုး .. http://engineersformyanmar.blogspot.com မွာ ၀င္ေရးေစခ်င္ပါတယ္ ။

    အီးေမးလ္အက္ ေပးပါ ။ က်မ အင္ဗိုက္ လုပ္လိုက္ပါမယ္ ။

    တခုသတိထားမိတာ.. ကိုမိုးေရးထားတာေတြက နုတ္စ္သေဘာအေနနဲ့ အေပၚယံနည္း၂ဆန္ေနပါတယ္ ။ ဒီ့ထက္ ေတာ့ပစ္တခုကို အတြင္းပိုင္းထိ ေရးျပနိုင္မယ္ဆို ၊ ပိုထိေရာက္မယ္ ထင္ပါတယ္ ။

    ခုလိုေရးထားတာေတြလညး္ ေကာင္းလွပါျပီ ။ က်မကေတာ့ အီလက္ထရြန္းနစ္ပိုင္း လုပ္ေနေပမယ့္ ၊ ဗမာလိုျပန္ေရးဖို့ မျဖစ္နိုင္ေသးလို့ း) ။ အေတြ ့အၾကံဳေတြ ေနာက္ပိုင္း ဖလွယ္ၾကတာေပါ့ ။

    ReplyDelete