อ่าน 2 นาที
เสียงดังปังนิดหน่อย
Bit banging เป็น ศัพท์เฉพาะ ที่อธิบายวิธี การส่งข้อมูล ดิจิทัล โดยใช้ พอร์ตอินพุต/เอาต์พุตอเนกประสงค์ (GPIO) แทน ฮาร์ดแวร์คอมพิวเตอร์ ที่ออกแบบมาเพื่อ การสื่อสารข้อมูล โดย เฉพาะ [...
เสียงดังปังนิดหน่อย
Bit bangingเป็นศัพท์เฉพาะที่อธิบายวิธีการส่งข้อมูลดิจิทัล โดยใช้พอร์ตอินพุต/เอาต์พุตอเนกประสงค์ (GPIO) แทนฮาร์ดแวร์คอมพิวเตอร์ที่ออกแบบมาเพื่อการสื่อสารข้อมูลโดย เฉพาะ [ 1 ]ซอฟต์แวร์ควบคุมมีหน้าที่รับผิดชอบในการตอบสนองความต้องการของโปรโตคอลรวมถึงการกำหนดเวลา ซึ่งอาจเป็นเรื่องท้าทายเนื่องจากทรัพยากรระบบ โฮสต์มีจำกัด และความต้องการที่แข่งขันกันของซอฟต์แวร์
ในทางตรงกันข้าม ฮาร์ดแวร์การสื่อสารเฉพาะทาง (เช่นUART , SPI , I²C ) ตรงตามข้อกำหนดของโปรโตคอล ซึ่งมีแนวโน้มที่จะลดภาระการทำงานของระบบควบคุม – ซอฟต์แวร์และโปรเซสเซอร์ หลัก โดยเฉพาะอย่างยิ่ง ฮาร์ดแวร์การสื่อสารบางชนิดมีบัฟเฟอร์ข้อมูล เพื่อลดภาระการทำงานของระบบควบคุม นอกจากนี้ยังมีอุปกรณ์ต่อพ่วงที่ออกแบบมาเพื่อการควบคุมแบบบิตต่อบิตโดยเฉพาะ เรียกว่า อินพุต/เอาต์พุตแบบโปรแกรมได้ (Programmable Input/Output หรือ BOUTR) ซึ่งรวมความยืดหยุ่นของการควบคุมแบบบิตต่อบิตและภาระการทำงานต่ำของฮาร์ดแวร์เฉพาะทางเข้า ด้วยกัน
วิธีการควบคุมบิตอาจช่วยให้คอมพิวเตอร์รองรับโปรโตคอลได้โดยมีการเปลี่ยนแปลงฮาร์ดแวร์น้อยที่สุดหรือไม่ต้องเปลี่ยนแปลงเลย ดังนั้นการควบคุมบิตจึงอาจเป็นตัวเลือกที่มีต้นทุนต่ำกว่า เนื่องจากโดยทั่วไปแล้วการเปลี่ยนซอฟต์แวร์จะมีราคาถูกกว่าการเปลี่ยนฮาร์ดแวร์
การแตะบิตมักใช้ในระบบฝังตัว[ 2 ]
การเลือกใช้ระหว่างการควบคุมบิต (bit banging) กับฮาร์ดแวร์สื่อสารเฉพาะทางนั้นเกี่ยวข้องกับการแลกเปลี่ยนระหว่างภาระงาน ประสิทธิภาพ และความน่าเชื่อถือในด้านหนึ่ง กับความพร้อมใช้งานของฮาร์ดแวร์ในอีกด้านหนึ่ง การควบคุมบิตใช้ทรัพยากรการประมวลผลมากกว่าการใช้ฮาร์ดแวร์เฉพาะทาง โปรเซสเซอร์ใช้เวลาส่วนใหญ่ในการควบคุมสายข้อมูล ซึ่งทำให้ไม่สามารถประมวลผลงานอื่นได้ นอกจากนี้ เว้นแต่ว่าความหน่วงของการขัดจังหวะฮาร์ดแวร์จะสม่ำเสมอ เช่นในรุ่นแรกๆ ของAtmel PICและการรับประกันอื่นๆ ที่มักพบใน ดีไซน์ โปรเซสเซอร์แบบบาร์เรลเช่น โคโปรเซสเซอร์ I/O CDC 6600การควบคุมบิตมักส่งผลให้สัญญาณมีคุณภาพต่ำลง – มีการกระตุกและข้อผิดพลาด มากขึ้น – โดยเฉพาะอย่างยิ่งหากโปรเซสเซอร์กำลังทำงานอื่นๆ พร้อมกัน อย่างไรก็ตาม หากซอฟต์แวร์ถูกขับเคลื่อนด้วยการขัดจังหวะของสัญญาณ คุณภาพของสัญญาณอาจดีขึ้น โดยเฉพาะอย่างยิ่งหากมีสัญญาณควบคุม เช่นRTS, CTSหรือDCDการควบคุมบิตอาจเป็นทางออกเดียวเมื่อไม่มีฮาร์ดแวร์สื่อสารเฉพาะทางให้ใช้งาน
ตัวอย่าง
ตัวอย่างโค้ด ภาษา Cต่อไปนี้เป็นการส่งข้อมูลหนึ่งไบต์ผ่าน บัส SPIโดยใช้การควบคุมบิตแบบ Bit Banging
void send_8bit_serial_data ( unsigned char data ) { // เลือกอุปกรณ์ (active low) output_low ( SD_CS );// ส่งบิต 7..0 สำหรับ( int i = 0 ; i < 8 ; i ++ ) { // พิจารณาบิตซ้ายสุด// ตั้งค่าสายเป็นสูงถ้าบิตเป็น 1 เป็นต่ำถ้าบิตเป็น 0 ถ้า( data & 0x80 ) output_high ( SD_DI ); else output_low ( SD_DI );// ส่งสัญญาณพัลส์ไปยังสถานะนาฬิกาเพื่อระบุว่าควรจะอ่านค่าบิตoutput_low ( SD_CLK ); delay (); output_high ( SD_CLK );// เลื่อนไบต์ไปทางซ้ายเพื่อให้บิตถัดไปเป็นข้อมูล ซ้ายสุด <<= 1 ; }// ยกเลิกการเลือกอุปกรณ์output_high ( SD_CS ); }ดูเพิ่มเติม
- สถาปัตยกรรม 1 บิต – ความกว้างบิตของสถาปัตยกรรมคอมพิวเตอร์
- การจัดการบิต – การปรับเปลี่ยนข้อมูลด้วยอัลกอริทึมในระดับต่ำกว่าคำ
- บิตสตรีม – ลำดับของตัวเลขไบนารี
- Bit twiddler (disambiguation)
- สถาปัตยกรรมบิตอนุกรม – ระบบประมวลผลที่ส่งข้อมูลทีละบิตผ่านสายไฟ
- โปรแกรม เร่งความเร็วการโหลดไฟล์ – โปรแกรมเร่งความเร็วซอฟต์แวร์สำหรับการโหลดไฟล์
- FTDI – บริษัทออกแบบอุปกรณ์เซมิคอนดักเตอร์สัญชาติสก็อตแลนด์
- Integrated Woz Machine – ตัวควบคุมฟลอปปี้ดิสก์แบบชิปเดี่ยวสำหรับ Apple II (IWM)
- ปากกาแสง – อุปกรณ์ป้อนข้อมูลคอมพิวเตอร์
- การสำรวจความคิดเห็น (วิทยาการคอมพิวเตอร์) – กระบวนการสุ่มตัวอย่างสถานะของอุปกรณ์
- วิทยุแบบกำหนดด้วยซอฟต์แวร์ – ระบบสื่อสารวิทยุที่ถูกนำไปใช้งานด้วยซอฟต์แวร์
- เครื่องเสมือน – ซอฟต์แวร์ที่จำลองการทำงานของคอมพิวเตอร์ทั้งเครื่อง
ลิงก์ภายนอก
- หมายเหตุเกี่ยวกับการควบคุมบิตแบบอะซิงโครนัสในอนุกรม
- การกำหนดบิตสำหรับการสื่อสารแบบอนุกรมอะซิงโครนัส
- เสียงดังปังๆ สำหรับ RS-232
- การสื่อสาร I2C บน AVR โดยใช้การควบคุมบิตแบบ Bit Banging
- การสื่อสาร SPI แบบ bit-banged ที่มีประสิทธิภาพสำหรับไมโครคอนโทรลเลอร์ 8051
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เสียงดังปังนิดหน่อย
Bit banging เป็น ศัพท์เฉพาะ ที่อธิบายวิธี การส่งข้อมูล ดิจิทัล โดยใช้ พอร์ตอินพุต/เอาต์พุตอเนกประสงค์ (GPIO) แทน ฮาร์ดแวร์คอมพิวเตอร์ ที่ออกแบบมาเพื่อ การสื่อสารข้อมูล โดย เฉพาะ [...
ตัวอย่าง
ตัวอย่างโค้ด ภาษา C ต่อไปนี้เป็นการส่งข้อมูลหนึ่งไบต์ผ่าน บัส SPI โดยใช้การควบคุมบิตแบบ Bit Banging
ดูเพิ่มเติม
สถาปัตยกรรม 1 บิต – ความกว้างบิตของสถาปัตยกรรมคอมพิวเตอร์ หน้าเว็บที่แสดงคำอธิบายสั้น ๆ ของเป้าหมายการเปลี่ยนเส้นทาง การจัดการบิต – การปรับเปลี่ยนข้อมูลด้วยอัลกอริทึมในระดับต่ำกว่าคำ บิตสตรีม – ลำดับของตัวเลขไบนารี หน้าเว็บที่แสดงคำอธิบายสั้น ๆ...
ลิงก์ภายนอก
หมายเหตุเกี่ยวกับการควบคุมบิตแบบอะซิงโครนัสในอนุกรม การกำหนดบิตสำหรับการสื่อสารแบบอนุกรมอะซิงโครนัส เสียงดังปังๆ สำหรับ RS-232 การสื่อสาร I2C บน AVR โดยใช้การควบคุมบิตแบบ Bit Banging การสื่อสาร SPI แบบ bit-banged ที่มีประสิทธิภาพสำหรับไมโครคอนโทรลเลอร์ 8051...