คำถามติดแท็ก uart

UART (Universal Asynchronous Receiver Transmitter) เป็นส่วนหนึ่งของตรรกะที่ส่งและรับข้อมูลบนพอร์ตอนุกรม

3
ความแตกต่างระหว่าง UART และ RS-232?
เวลาส่วนใหญ่RS-232และ UART มารวมกันในทฤษฎีการสื่อสารแบบอนุกรม พวกเขาทั้งสองเหมือนกันหรือไม่ จากการอ่านของฉันฉันได้ข้อสรุป UART เป็นรูปแบบฮาร์ดแวร์ของโปรโตคอล RS-232 ฉันถูกไหม?

4
มีอัตรา UART มาตรฐานเท่าไหร่?
ฉันรู้ 9600, 19200, 38400, 57600, 115200 และ 1.8432 Mbaud แต่ไม่มีคนอื่น เหตุใดจึงใช้ค่าเหล่านี้และเพิ่มขึ้นเป็นสองเท่าในแต่ละครั้งหรือมีบางสิ่งที่ซับซ้อนมากขึ้น (ตัวอย่างเช่น 38400 สี่เท่าไม่ใช่ 115200 บอด) เหตุผลที่ฉันถามคำถามนี้คือฉันกำลังออกแบบบางอย่างที่อาจต้องโต้ตอบกับอัตราการรับส่งข้อมูลที่แตกต่างหลากหลาย มันจะเริ่มต้นใน 9600 แล้วเปลี่ยนเป็นอัตรารับส่งข้อมูลเฉพาะ แต่ฉันไม่สามารถรองรับอัตราตามอำเภอใจได้เพราะ dsPIC33F ที่ฉันใช้ไม่รองรับอัตราเองเนื่องจากถูก จำกัด ไว้ที่ตัวนับ BRG แบบ 16 บิต มันคล้ายกันในเรื่องนี้กับโปรเซสเซอร์อื่น ๆ
33 uart 

13
ซอฟแวร์เพื่อสร้างไดอะแกรมกำหนดเวลา
ในชีวิตการทำงานของฉันในบางครั้งฉันจำเป็นต้องสร้างไดอะแกรมกำหนดเวลาสำหรับโปรโตคอล: UART , SPIฯลฯ อย่างไรก็ตามฉันไม่สามารถหาโปรแกรมที่ดีได้ โปรแกรมใดบ้างที่สามารถแนะนำสำหรับสิ่งนี้และประสบการณ์การใช้มันคืออะไร?

8
เมื่อใดที่ควรเปลี่ยนจาก ASCII เป็นโปรโตคอลอนุกรมขั้นสูง
อุปกรณ์ไมโครคอนโทรลเลอร์ของฉันทั้งหมดที่สื่อสารกับพีซีผ่านทาง UART ใช้สายอักขระ ASCII สำหรับส่งคำสั่งและรับข้อมูล (ตามที่นำมาใช้ใน Arduino) นั่นคือสิ่งที่ฉันได้เรียนรู้เมื่อฉันเริ่มขุดลงในอุปกรณ์อิเล็กทรอนิกส์และฉันก็พบว่าการส่งสายเปล่าให้เพียงพอ อย่างไรก็ตามฉันสังเกตเห็นว่าอุปกรณ์ส่วนใหญ่ที่ฉันเจอใช้โพรโทคอลไบนารีขั้นสูงที่มีรหัสฟังก์ชันที่อยู่และการตรวจสอบข้อผิดพลาด CRC การสื่อสาร ASCII พื้นฐานเป็นที่ยอมรับได้เมื่อใดและฉันควรพิจารณาสิ่งที่สูงกว่าเช่น Modbus หรือไม่ อุปกรณ์เชิงพาณิชย์ใช้ ASCII เช่นนี้หรือไม่? อุตสาหกรรม?

6
โปรโตคอลการ จำกัด / การซิงโครไนซ์เทคนิคแบบอนุกรม
เนื่องจากการสื่อสารแบบซีเรียลแบบอะซิงโครนัสแพร่กระจายอย่างกว้างขวางในอุปกรณ์อิเล็กทรอนิกส์ทุกวันนี้ฉันเชื่อว่าพวกเราหลายคนได้พบคำถามเช่นนี้เป็นครั้งคราว พิจารณาอุปกรณ์อิเล็กทรอนิกส์Dและคอมพิวเตอร์PCที่เชื่อมต่อกับสายอนุกรม (RS-232 หรือคล้ายกัน) และจำเป็นต้องมีการแลกเปลี่ยนข้อมูลอย่างต่อเนื่อง Ie PCกำลังส่งเฟรมคำสั่งแต่ละเฟรมX msและDกำลังตอบกลับด้วยรายงานสถานะ / เฟรม telemetry แต่ละรายการY ms(สามารถส่งรายงานเป็นการตอบสนองต่อคำขอหรือเป็นอิสระ - ไม่สำคัญเลยที่นี่) กรอบการสื่อสารสามารถมีข้อมูลไบนารีใด ๆ โดยพลการ สมมติว่าเฟรมการสื่อสารเป็นแพ็กเก็ตที่มีความยาวคงที่ ปัญหา: เนื่องจากโปรโตคอลมีความต่อเนื่องด้านการรับอาจหลุดการซิงโครไนซ์หรือเพียงแค่ "เข้าร่วม" ที่อยู่ตรงกลางของเฟรมที่ส่งต่อเนื่องดังนั้นมันจะไม่รู้ว่าจุดเริ่มต้นของเฟรม (SOF) นั้นอยู่ที่ไหน ข้อมูลมีความหมายที่แตกต่างกันไปตามตำแหน่งของ SOF ข้อมูลที่ได้รับจะเสียหายและอาจเกิดขึ้นตลอดไป ทางออกที่ต้องการ รูปแบบการลด / ประสานที่เชื่อถือได้ในการตรวจจับ SOF ด้วยเวลาการกู้คืนสั้น ๆ (เช่นไม่ควรใช้เวลามากกว่านั้นพูด 1 เฟรมเพื่อซิงโครไนซ์อีกครั้ง) เทคนิคที่มีอยู่ฉันรู้ (และใช้บางส่วน) ของ: 1) ส่วนหัว / การตรวจสอบ - SOF เป็นค่าไบต์ที่กำหนดไว้ล่วงหน้า ตรวจสอบผลรวมในตอนท้ายของเฟรม จุดเด่น:เรียบง่าย …
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

11
การฉีดสัญญาณการสื่อสารผ่านสายจ่ายไฟ DC
ฉันต้องการให้เดซี่เชนหลายอุปกรณ์โดยใช้สายไฟจากนั้นฉีดสัญญาณการสื่อสารผ่านสายไฟเพื่อเปลี่ยนเป็นเครือข่ายดูเพล็กซ์ครึ่ง มีวิธีการทั่วไปในการบรรลุเป้าหมายนี้หรือไม่? ง่ายกว่าดีกว่าและจะดีมากถ้าใช้ UART กับไมโครคอนโทรลเลอร์ แก้ไข: มีสองโครงการที่ฉันทำงานจริง ๆ ซึ่งฉันคิดว่าจะได้รับประโยชน์จากสิ่งนี้ - หนึ่งคือเครือข่ายเซ็นเซอร์พลังงานต่ำ อื่น ๆ เป็นโครงการไฟ LED ในทั้งสองกรณีมีวัตถุประสงค์เพื่อลดความยุ่งยากในการเดินสาย แต่หากวิธีการแก้ปัญหานั้นซับซ้อนเกินไป

2
เหตุใดทรานซิสเตอร์สองตัวจึงมักใช้แทนกัน
การออกแบบวงจรจำนวนมากที่ฉันเห็นด้วยทรานซิสเตอร์ใช้ทรานซิสเตอร์สองตัวถูกล่ามโซ่ไว้ด้วยกันแทนที่จะใช้เพียงทรานซิสเตอร์เดียว กรณีในจุด: วงจรนี้ออกแบบมาเพื่อให้อุปกรณ์ที่มี 3.3V UART สามารถสื่อสารกับไมโครคอนโทรลเลอร์ 5V ฉันเข้าใจว่าเมื่อปิด Q2, TX_TTL จะสูงและเมื่อเปิด Q2, TX_TTL จะต่ำ คำถามของฉันคือทำไมไม่เรียกใช้ UART_TXD โดยตรงกับฐานของ Q2 แทนที่จะใช้ Q1 เพื่อควบคุมแรงดันไฟฟ้าฐานของ Q2
20 transistors  uart  npn 

2
ชิป FTDI ทำงานอย่างไร
มีคนถามฉันเมื่อวันก่อนว่า FTDI USB กับ serial UART ทำงานอย่างไรและฉันก็รู้ว่าไม่รู้ ฉันดูแผ่นข้อมูลสำหรับ FT232R และแผนภาพบล็อกไม่ได้ช่วยฉันจริงๆ ใครสามารถอธิบายหรือเชื่อมโยงฉันกับคำอธิบายที่ดี?
20 usb  uart  ftdi 

3
UART & USART - อะไรคือความแตกต่าง
ในสำนักงานฉันได้ยินคำศัพท์เหล่านี้โยนไปมาราวกับว่าพวกเขาเหมือนกัน ความเข้าใจของฉันคือ USART สามารถส่งสัญญาณนาฬิกาพร้อมกับข้อมูล มีความแตกต่างอื่น ๆ อีกไหม? อะไรคือข้อดีและข้อเสียของแต่ละ
19 uart  terminology 

4
ความถี่ UART มีความสำคัญแค่ไหน?
ฉันกำลังจะใช้คริสตัลขนาด 8 MHz เพื่อใช้งานไมโครคอนโทรลเลอร์ของฉันที่ 16 MIPS (คำแนะนำ PLL 4x, 2 รอบ) อย่างไรก็ตาม 8 MHz ไม่ได้แบ่งเป็นความถี่ UART AFAIK ใด ๆ ... ความถี่ที่สำคัญเหล่านี้เป็นอย่างไร ฉันวางแผนที่จะใช้ 115,200 บอด UART สามารถวิ่งได้ภายใน± 1% หรือไม่? หากวิธีนี้ใช้ไม่ได้ฉันควรใช้ความถี่ใด (ฉันต้องการได้มากถึง 16 MIPS ให้มากที่สุดเพื่อความเร็วในการประมวลผลสูงสุด) หากเป็นเรื่องสำคัญฉันกำลังใช้ PIC24FJ64GA004

1
ดึงตัวต้านทานขึ้นบน UART
ฉันกำลังตรวจสอบบันทึกย่อของแอปAN2606ที่ฉันเจอไดอะแกรมการเชื่อมต่อนี้: ตามความรู้ของฉัน UART เป็นประเภทแบบ push-pull และ Tx ให้การดึงที่จำเป็นดังนั้นเราจึงไม่จำเป็นต้องใช้ pull-up ภายนอก ฉันทำอะไรบางอย่างหายไปหรือเปล่า
16 uart 

2
ความยาวสายเคเบิลสูงสุดสำหรับสัญญาณ 3.3V UART
ฉันต้องการหลีกเลี่ยงการใช้ตัวแปลง RS-232 ระหว่างไมโครคอนโทรลเลอร์สองตัวบนกระดานสองบอร์ดที่แตกต่างกัน ด้วยเหตุผลหลายประการสนับสนุนเฉพาะ UART เช่นไม่มี SPI หรือ I2C และฉันจะใช้สายเคเบิล CAT5E กับแจ็ค RJ45 ระหว่างบอร์ด อัตราการส่งข้อมูลจะเป็น 115200bps ซึ่งอาจสูงถึง 921600bps กราวด์เชื่อมต่อพร้อมกับสัญญาณ UART ในขณะที่ฉันกำลังทำงานตามความยาวที่ฉันต้องการสำหรับการศึกษาของฉันเองมีวิธีการประเมินความยาวของสายเคเบิลสูงสุดที่จะเชื่อถือได้หรือไม่?
15 uart  cables 

6
UART หยุดหนึ่งหรือสองบิต?
UART มักให้คุณเลือกได้ระหว่าง 1, 1.5 และ 2 บิต ด้วยประสิทธิภาพของ payload 1 stop bit คือ 80% (8/10), 2 stop bits ที่ลดลงเป็น 72.7% (8/11) ดังนั้นข้อดีของบิตหยุดที่สองคืออะไร
15 uart 

3
สอง UARTS รู้ได้อย่างไรว่าอัตราการรับส่งข้อมูลใดที่จะใช้
ฉันกำลังอ่านเกี่ยวกับโปรโตคอลมาตรฐานสำหรับ UART และฉันคิดว่าถ้า UART ที่ได้รับไม่มีความคิดใด ๆ เกี่ยวกับอัตราการรับส่งข้อมูลที่ส่งข้อมูลจะมีปัญหามากมาย หากอัตราการรับส่งข้อมูลสันนิษฐานว่าต่ำกว่าอัตราการส่งข้อมูลที่ส่งข้อมูลจะมีบิตที่ไม่สามารถเห็นได้โดย UART ที่ได้รับ ในทางตรงกันข้ามถ้าอัตรารับส่งข้อมูลที่ใช้โดยผู้รับสูงกว่าอัตรารับส่งข้อมูลที่มีการส่งข้อมูลจะมีบิตที่จะถูกนับสองครั้งและจะส่งผลให้ข้อมูล 'อ่าน' ไม่ถูกต้อง ความรู้ของฉันเกี่ยวกับ UART คือเมื่อบรรทัดไม่ได้ใช้งานมันจะถูกเก็บไว้ที่ '1' บิตเริ่มต้นคือ '0' และ Stop bit คือ '1' นอกจากนี้บิตหยุดเป็น '1' ไม่มีความแตกต่างใด ๆ กับ '1' เมื่อสายไม่ได้ใช้งานหรือมีวิธีการแยกความแตกต่างหรือไม่ สองคนสื่อสารกันถึงข้อตกลงแรกของ UART ที่จะใช้อัตรารับส่งข้อมูลหรือไม่? ถ้าใช่พวกเขาจะทำอย่างไร

3
ความเร็วสัญญาณนาฬิกาของตัวรับสัญญาณ UART
ฉันพยายามทำความเข้าใจพื้นฐานของ UART เป็นที่เข้าใจกันว่า มันเป็นโปรโตคอลสื่อสารแบบอะซิงโครนัสดังนั้นนาฬิกา TX และ RX จึงไม่ขึ้นต่อกัน การรับข้อมูลรับประกันโดยการใช้งานของบิตเริ่มต้นและหนึ่งหรือมากกว่าหนึ่งบิตหยุดโดยปกติผู้รับจะต้องตระหนักถึงอัตราการส่งข้อมูลเพื่อที่จะสร้างนาฬิกาที่เหมาะสมในการผลักดันการลงทะเบียน SIPO ที่ใช้สำหรับการรับสัญญาณ คำถามที่นี่ ว่ากันว่าโดยทั่วไปนาฬิกาขนาด16Xจะใช้อัตราบิตในการกู้คืนข้อมูล ดังนั้นการแปลงbpsเป็นความถี่นาฬิกาเป็นไปได้อย่างไร โปรดให้ข้อมูลอ้างอิงบางอย่างแก่ฉันเพื่อศึกษากลไกการตอกบัตรที่ใช้ในตัวรับ UART

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.