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

แท็กนี้เกี่ยวข้องกับปัญหาเกี่ยวกับเวลาของโปรโตคอลหรือมาตรฐาน ซึ่งอาจมีเวลา UART / IIC ฯลฯ ตลอดจนเวลาในการขับมอเตอร์

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

3
เหตุใดฉันจึงเห็น“ รอย” แปลก ๆ บนสายข้อมูลสำหรับตรรกะ 1
ฉันกำลังพยายามสร้างคอมพิวเตอร์ที่ใช้ในบ้าน Z80 เพื่อความสนุกในการคำนวณย้อนหลังและเพื่อสอนตัวเองพื้นฐานของการออกแบบทางอิเล็กทรอนิกส์ เพื่อพิสูจน์แนวคิดฉันได้รวบรวมระบบพื้นฐานบนเขียงหั่นขนมเรียบร้อยแล้วเมื่อสัปดาห์ก่อน ต้นแบบปัจจุบันนั้นง่ายมาก ฉันใช้คริสตัล 4 MHz ที่ขับเคลื่อนโดย Pierce oscillator 74HCT04 เป็นนาฬิการะบบสองตัว 74HCT573 latches ในโหมดโปร่งใส ( LEสูง) เป็นบัฟเฟอร์สำหรับบัสแอดเดรส 16 บิตอีกสอง 74HCT573 ในทิศทางตรงกันข้ามที่ควบคุมโดยRDและNOT RDเป็นข้อมูลแบบสองทิศทาง บัฟเฟอร์บัส ฉันแนบEEPROM AT28C256 EEPROM 100 ns (ถอดรหัส 16-KiB เท่านั้น) และชิป SRAM ชิพ SRAM 150 ns 8-KiB สองตัวเข้ากับบัสระบบ ฉันใช้ 74HCT42 เพื่อสร้างCSสัญญาณและเดินสายOEEEPROM ไปหาต่ำWEถึงสูงเหลือสัญญาณ CS เพียงอันเดียวเพื่อควบคุม EEPROM ทุกอย่างบนเขียงขนมปังมีเสียงดัง แต่ระบบดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์หลังจากที่ฉันทำทุกขั้นตอนเสร็จแล้ว …

5
ทำไมทฤษฎีความเป็นอันตรายของการแข่งขันจึงทำงานได้?
ดังนั้นสำหรับผู้ที่ไม่ทราบทฤษฎีการแข่งขันอันตราย (RHT) ระบุว่า: A x B + A 'x C = A x B + A' x C + B x C ฉันเข้าใจส่วนอื่น ๆ ของ RHT เกี่ยวกับความล่าช้าและสิ่งต่าง ๆ แต่ฉันไม่เข้าใจว่าทำไมข้อความทางตรรกะข้างต้นควรเป็นจริงใครช่วยให้ฉันเข้าใจสิ่งนี้ได้บ้าง

4
ความแม่นยำในการจับเวลาซีเควน MIDI โดยใช้ Arduino
ฉันสร้างเหล่านี้sequencers เพลง มันไม่ใช่ซีเควนเท่านั้นมันเป็นส่วนต่อประสานทางกายภาพสำหรับซีเควน ซีเควนเซอร์เป็นแอปพลิเคชั่นที่ทำงานบนแล็ปท็อปที่ซีเควนเซอร์เชื่อมต่อด้วยสิ่งนี้ช่วยให้ผู้ใช้สร้างลูปกลองได้ทันที มันสนุกดี แต่มันต้องใช้แล็ปท็อปเพราะซีเควนเซอร์ไม่ใช่ 'บนบอร์ด' สิ่งที่ฉันชอบก็คือการจัดลำดับอุปกรณ์ของฉัน ทีนี้สมมติว่าฉันรู้วิธีแก้ปัญหาเรื่องความสอดคล้องของคลาสสำหรับการเชื่อมต่อ USB MIDI และสมมติว่าฉันสามารถหาวิธีวางสาย Arduino เพื่อส่งโน้ต MIDI จากพอร์ต DIN 5 พินได้ สิ่งที่ฉันกังวลมากที่สุดคือจังหวะล่องลอยไปตามกาลเวลาเนื่องจากเวลาไม่สอดคล้องกันในจำนวนนาทีในทุกรอบของการวนรอบเหตุการณ์ บางสิ่งที่ฉันรู้: คุณไม่ควรพึ่งพาdelay()การควบคุมจังหวะจังหวะ การหน่วงเวลาหยุดการทำงานของเฟิร์มแวร์ทั้งหมดและไม่สามารถทำงานได้เพราะฉันต้องสำรวจส่วนต่อประสานผู้ใช้ทางกายภาพเพื่อทำการเปลี่ยนแปลงในขณะที่ลำดับกำลังทำงาน การคำนวณตามmillis()ดีกว่าเนื่องจากเฟิร์มแวร์สามารถทำงานต่อไปและดำเนินการต่อไปเมื่อจำนวนที่แน่นอนได้ผ่านไปแล้ว แม้ว่าการควบคุมทางกายภาพของฉันจะไม่มีการเรียกใช้รูทีนการขัดจังหวะการดำเนินการบางอย่างสามารถชะลอการloop()ทำงานหลักได้ หากฉันออกแบบฟังก์ชั่นที่รอการป้อนข้อมูลจากผู้ใช้นั่นอาจทำให้เกิดปัญหาว่า "วันครบกำหนด" ที่ขาดหายไปเพื่อดำเนินการถ้าmillis()จำนวนนั้นเกิน ฉันรู้ว่าปัญหานี้เกิดจากการออกแบบของตัวเอง ... คำถาม: A. Arduino ที่ใช้ AVR เป็นไมโครคอนโทรลเลอร์ที่เหมาะสมในการหยั่งเสียงส่วนต่อประสานผู้ใช้และเรียกใช้ภารกิจวนรอบเวลาที่สำคัญหรือไม่? ฉันรู้ว่ามี ARM based Arduino ตอนนี้เร็วขึ้นมาก Teensy 3.0 จะเป็นทางเลือกที่ดีกว่าหรือไม่? ทั้งสองนี้เป็นบอร์ด 3.3V ดังนั้นนั่นเป็นอีกหนึ่งปัญหาที่จะทำงานร่วมกับ ... แต่ฉันจะไม่สนใจมันในตอนนี้ B. …
11 arduino  timing  midi 

3
Arduino: ความละเอียดไมโครวินาทีที่ดีกว่าไมโคร ()?
เอกสารประกอบ micros () ตั้งข้อสังเกตว่าค่าส่งคืนจะเป็นผลคูณของ 4 มีวิธีใดบ้างที่จะได้รับการคลิกไมโครวินาทีความละเอียดสูงกว่าโดยเฉพาะอย่างยิ่งจนถึงระดับ 1 ไมโครวินาที ปล่อยลงไปที่ระดับ AVR เป็นที่ยอมรับ
11 arduino  timing 

2
ข้อ จำกัด การจับเวลา ASIC ผ่าน SDC: วิธีการระบุนาฬิกามัลติเพล็กอย่างถูกต้อง?
บทนำ เมื่อพบข้อมูลหลายอย่างที่ขัดแย้งหรือไม่ครบถ้วนบนอินเทอร์เน็ตและในบางคลาสฝึกอบรมเกี่ยวกับวิธีสร้างข้อ จำกัด เวลาในรูปแบบ SDCอย่างถูกต้องฉันต้องการขอความช่วยเหลือจากชุมชน EE สำหรับโครงสร้างการสร้างนาฬิกาทั่วไปที่ฉันพบ ฉันรู้ว่ามีความแตกต่างในวิธีที่จะใช้ฟังก์ชั่นบางอย่างใน ASIC หรือ FPGA (ฉันได้ทำงานกับทั้งคู่) แต่ฉันคิดว่าควรมีวิธีทั่วไปที่ถูกต้องในการ จำกัด เวลาของโครงสร้างที่กำหนดโดยไม่ขึ้นกับ เทคโนโลยีพื้นฐาน - โปรดแจ้งให้เราทราบหากฉันทำผิดในสิ่งนั้น นอกจากนี้ยังมีความแตกต่างบางอย่างระหว่างเครื่องมือต่าง ๆ สำหรับการใช้งานและการวิเคราะห์เวลาของผู้ขายต่าง ๆ (แม้จะมี Synopsys ที่เสนอซอร์สโค้ดตัวแยกวิเคราะห์ SDC) แต่ฉันหวังว่าพวกเขาส่วนใหญ่จะมีปัญหาเกี่ยวกับไวยากรณ์ซึ่งสามารถค้นหาได้ในเอกสาร คำถาม นี่คือโครงสร้างนาฬิกามัลติเพล็กเซอร์ต่อไปนี้ซึ่งเป็นส่วนหนึ่งของโมดูลclkgenซึ่งเป็นส่วนหนึ่งของการออกแบบที่มีขนาดใหญ่ขึ้นอีกครั้ง: ในขณะที่ext_clkอินพุตถูกสร้างขึ้นจากการออกแบบภายนอก (การป้อนผ่านอินพุตพิน), clk0และclk4สัญญาณยังถูกสร้างและใช้งานโดยโมดูลclkgen (ดูคำถามนาฬิการะลอกของฉันที่เกี่ยวข้องสำหรับรายละเอียด) และมีข้อ จำกัด เกี่ยวกับนาฬิกาชื่อbaseclkและdiv4clk, ตามลำดับ คำถามคือวิธีการระบุข้อ จำกัด เช่นที่วิเคราะห์เวลา ถือว่าcpu_clkเป็นนาฬิกาแบบมัลติเพล็กซ์ซึ่งสามารถเป็นหนึ่งในนาฬิกาแหล่งที่มา ( fast_clkหรือslow_clkหรือext_clk) โดยคำนึงถึงความล่าช้าผ่านประตู AND และ OR ที่แตกต่างกัน ในขณะเดียวกันก็ไม่ตัดเส้นทางระหว่างนาฬิกาต้นทางที่ใช้ในที่อื่นในการออกแบบ ในขณะที่กรณีที่ง่ายที่สุดของมัลติเพล็กเซอร์นาฬิกาบนชิปดูเหมือนจะต้องการเพียงแค่set_clock_groupsคำสั่ง …

3
กระบวนการเวลาใน FPGA
ฉันใหม่สำหรับ fpgas และมีรายละเอียดปลีกย่อยบางอย่างที่ฉันไม่แน่ใจว่าฉันเข้าใจ: หากกระบวนการซิงโครนัสทั้งหมดของฉันถูกเรียกใช้บนขอบเดียวกันนั่นหมายความว่าอินพุตของฉันถูก 'จับ' บนขอบที่เพิ่มขึ้นหนึ่งและ เปลี่ยนผลลัพธ์ .. ขอบเดียวกันหรือไม่ ขอบที่เพิ่มขึ้นต่อไป? หากฉันมีสองโมดูลซึ่งเอาต์พุตของหนึ่งไหลไปยังอินพุตของถัดไปอาจมีสถานการณ์ที่อินพุตของโมดูลของฉัน (เอาต์พุตของโมดูลก่อนหน้า) เปลี่ยนไปพร้อมกันเมื่อถูกจับ เครื่องหมายที่ 205ns แสดงสิ่งที่ฉันกำลังพูดถึง op และ data_write เป็นอินพุตของฉัน ทุกอย่างดูเหมือนจะ "ทำงานได้" ในกรณีทดสอบนี้ แต่ในการจำลองสถานการณ์ไม่ชัดเจนว่าจะถูกจับเมื่อใด data_write = "0001 ... " ถูกบันทึกไว้ที่ 205ns หรือ (205ns + 1 รอบนาฬิกา) หรือไม่ มีวิธีรับรูปคลื่นโดยละเอียดใน ISim ที่แสดงการตั้งค่าและกดค้างไว้หรือไม่? ขอบคุณ


4
ข้อ จำกัด เรื่องเวลาสำหรับวงจรซิงโครไนซ์บัส
ฉันเป็นวงจรซิงโครไนซ์บัสเพื่อส่งต่อการลงทะเบียนทั่วโดเมนนาฬิกา ฉันจะให้คำอธิบายที่ง่ายขึ้นโดยไม่ใช้ตรรกะการรีเซ็ตแบบอะซิงโครนัส ข้อมูลถูกสร้างขึ้นในหนึ่งนาฬิกา การอัพเดตมีขอบเขตนาฬิกา (อย่างน้อยหนึ่งโหล) เป็นจำนวนมาก: PROCESS (src_clk) BEGIN IF RISING_EDGE(clock) THEN IF computation_done THEN data <= computation; ready_spin <= NOT ready_spin; END IF; END IF; END PROCESS; สัญญาณควบคุมสำหรับข้อมูลใหม่ซึ่งเข้ารหัส NRZI (ดังนั้นคำที่ถูกต้องบนบัสจะสอดคล้องกับการเปลี่ยนสัญญาณควบคุม) สัญญาณควบคุมผ่านสายโซ่ DFF ซึ่งทำหน้าที่เป็นซิงโครไนซ์ PROCESS (dest_clk) BEGIN IF RISING_EDGE(dest_clk) THEN ready_spin_q3 <= ready_spin_q2; ready_spin_q2 <= ready_spin_q1; ready_spin_q1 <= ready_spin; END …
10 fpga  clock  timing  sdc 

2
แผนภาพตาไม่ดีที่จะเริ่มมองหา?
ฉันพยายามที่จะแก้ปัญหาบอร์ดอีเธอร์เน็ต 100Mbit และฉันพบปัญหาฉันมีปัญหาในการพยายามแก้ไข นี่คือแผนภาพตาสำหรับคู่ส่งสัญญาณ คู่รับนั้นคล้ายกันมาก มันเป็น LAN8700 PHY และฉันได้ปิดใช้งานอินเทอร์เฟซ MII อย่างมีประสิทธิภาพดังนั้น PHY จึงส่งลำดับรหัส IDLE มันถูกบังคับให้ 100Mbit / FDX ตามแผ่นข้อมูล 100Mbit / HDX เหมือนกัน การแก้ไข: การออกแบบใช้แหล่งจ่ายไฟ 1.8V ภายในของ LAN8700 เพื่อจ่ายกระแสไฟสุทธิ VDD_CORE ฉันต้องทำให้เกิดความสับสนในการจัดหาลอจิก 1.8V กับอุปทาน VDD_CORE ในคำอธิบายก่อนหน้าของฉัน สำหรับฉันแล้วเสียงของแหล่งจ่ายไฟนั้นไม่น่าจะเป็นไปได้สูงเนื่องจากระดับที่สูงศูนย์และต่ำนั้นค่อนข้างดี นั่นคือดวงตาไม่ใช่ "กำลังถูกบีบ" ความจริงที่ว่าการละเมิดทั้งหมดดูเหมือนการเปลี่ยนภาพที่ดีมากเพียงแค่ "เอียง" ในเวลาทำให้ฉันคิดว่าปัญหาอยู่ในผลึกหรือจัดหาไดรเวอร์คริสตัล / PLL ใน PHY ถ้าฉันปล่อยให้แผนภาพตาทำงาน (ประมาณ 15 นาที) การละเมิดในหน้ากาก …

3
ฉันจะใช้คอนโทรลเลอร์ DRAM แบบอะซิงโครนัสอย่างง่าย ๆ ได้อย่างไร?
ฉันต้องการทราบวิธีสร้างตัวควบคุม DRAM แบบอะซิงโครนัสแบบกระดูกเปลือย ฉันมีโมดูล DRAM ขนาด 70 เมกะไบต์ 1 SIMM 70ns DRAM (1Mx9 with parity) ที่ฉันต้องการใช้ในโครงการคอมพิวเตอร์ย้อนยุคในโฮมบรูว์ น่าเสียดายที่ไม่มีแผ่นข้อมูลสำหรับพวกเขาดังนั้นฉันไปจากซีเมนส์ HYM 91000S-70และ"การทำความเข้าใจกับการทำงานของ DRAM"โดย IBM อินเทอร์เฟซพื้นฐานที่ฉันต้องการจะทำคือ / CS: in, เลือกชิป R / W: in, อ่าน / ไม่เขียน RDY: ออกสูงเมื่อข้อมูลพร้อม D: เข้า / ออกบัสข้อมูล 8 บิต A: ในบัส 20 บิตที่อยู่ รีเฟรชดูเหมือนตรงไปตรงมาด้วยหลายวิธีที่จะทำให้ถูกต้อง ฉันควรจะทำการกระจาย (interleaved) RAS-only refresh …
9 memory  timing  dram  7400 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.