Bit-bouchání
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 8. května 2018; kontroly vyžadují
5 úprav .
Bit-banging je technologie pro organizaci sériového připojení pomocí softwarové emulace namísto specializovaného hardwarového zařízení. Program přímo nastavuje stav GPIO pinů na mikrokontroléru (nebo LPT na počítači), čímž plně poskytuje požadované charakteristiky signálu. Obvykle se používá v levných zařízeních. [1] [2]
Omezení
- Rychlost emulovaného zařízení je omezena dobou nastavení pinu a dobou provádění kódu. Proto se Bit-bang obecně používá k emulaci nízkorychlostních zařízení nebo nízkorychlostních verzí zařízení.
- Je obtížné zaručit přesnou dobu provádění kódu, což může způsobit problémy při implementaci protokolů citlivých na synchronizaci
- Softwarová emulace spotřebovává zdroje CPU
- Přijímaný signál může mít vysoký jitter , zejména pokud procesor provádí jiné úkoly než komunikaci.
- Vyžaduje ruční přizpůsobení úrovní signálu a proudů [3] , bez kterého je možné poškodit piny GPIO nebo druhé zařízení účastnící se protokolu
Aplikace
Linuxové jádro má podporu pro emulaci I²C přes GPIO [4] .
Pomocí techniky Bit-bang můžete do zařízení PIC přidat sériový port [5] a podporu I2C.
Někdy jsou implementovány i JTAG programátory , například na zařízeních Arduino . [6]
Existují implementace nejjednodušších USB zařízení [7] na GPIO pinech bez použití speciálních čipů, které implementují fyzickou vrstvu (PHY).
Některé adaptéry USB-to-serial, jako je FT232, umožňují provoz bitbang. [osm]
Některé MMC/SD ovladače lze uvést do režimu, ve kterém vydávají 4-5 vysokofrekvenčních signálů. Například pomocí řadiče ze SoC Jz4720 bylo možné vytvořit VGA signál [9] [10] .
Poznámky
- ↑ Michael Predko. Programování a přizpůsobení mikrokontrolérů PICmicro . — 2. - McGraw-Hill Professional, 2000. - S. 10-12. - ISBN 978-0-07-136172-9 .
- ↑ Mike Szczys . Bit bang přes adaptér paralelního portu USB Archivováno 30. prosince 2013 na Wayback Machine . - 2013. - 21. února.
- ↑ Rozdíl USB | Doktora Dobba . Datum přístupu: 30. prosince 2013. Archivováno z originálu 31. prosince 2013. (neurčitý)
- ↑ Linuxové jádro: zdrojový kód i2c-gpio.c (downlink) . Získáno 15. 5. 2011. Archivováno z originálu 26. 7. 2013. (neurčitý)
- ↑ Archivovaná kopie (odkaz není dostupný) . Datum přístupu: 30. prosince 2013. Archivováno z originálu 30. prosince 2013. (neurčitý)
- ↑ Naučte se JTAG tím, že napíšete programátor s bitovým nárazem . Datum přístupu: 30. prosince 2013. Archivováno z originálu 30. prosince 2013. (neurčitý)
- ↑ It's Alive: Bit-bouching full-speed USB Host for the Propeller: scanlime . Datum přístupu: 30. prosince 2013. Archivováno z originálu 30. prosince 2013. (neurčitý)
- ↑ Archivovaná kopie . Datum přístupu: 30. prosince 2013. Archivováno z originálu 31. prosince 2013. (neurčitý)
- ↑ Univerzální Breakout Board - VGA . Datum přístupu: 1. ledna 2014. Archivováno z originálu 17. dubna 2014. (neurčitý)
- ↑ Mike Szczys . Trochu bouchající VGA ze slotu pro SD kartu (10. května 2011). Archivováno z originálu 2. ledna 2014. Staženo 1. ledna 2014.
Odkazy