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

PIC เป็นแบรนด์ไมโครคอนโทรลเลอร์ RISC 8, 16 และ 32 บิตที่ผลิตโดย Microchip "PIC" เป็นตัวย่อสำหรับ "Peripheral Interface Controller"

4
พินแต่ละพอร์ตที่แตกต่างกันของไมโครคอนโทรลเลอร์สามารถแมปกับรีจิสเตอร์และค่าของมันจะเปลี่ยนไปเมื่อทำการเปลี่ยนค่ารีจิสเตอร์หรือไม่?
ถาม: สามารถแมปพินแต่ละพอร์ตของไมโครคอนโทรลเลอร์แต่ละตัวเข้ากับรีจิสเตอร์และเปลี่ยนค่าได้หรือไม่เมื่อเปลี่ยนค่ารีจิสเตอร์? สถานการณ์สมมติ: ฉันใช้พินมากขึ้นจากแต่ละพอร์ต (8 บิต) ของไมโครคอนโทรลเลอร์ ตอนนี้ฉันต้องการเชื่อมต่ออุปกรณ์ที่ต้องการบัส 8 บิต (สมมติว่า D0 ถึง D7 IN SEQUENCE) กล่าวคือฉันต้องการ 8 พินจากคอนโทรลเลอร์เพื่อให้สามารถเชื่อมต่อได้ในแบบหนึ่งต่อหนึ่ง portx0 -> D0 // x is the name of port followed by bit location on that port portx1 -> D1 ... portx7 -> D7 แต่ฉันไม่มีพอร์ตทั้งหมด 8 พินซึ่งฉันสามารถเชื่อมต่อกับอุปกรณ์นี้ได้ แต่ฉันมีพินบางตัวจากพอร์ทเอ็กซ์บางตัวมาจากพอร์ทและบางพินจากพอร์ทซ สถานการณ์การเชื่อมต่อใหม่เป็น (การเชื่อมต่อจากไมโครคอนโทรลเลอร์ไปยังอุปกรณ์ตามลำดับ) portx0 …

10
ดำเนินการคำแนะนำจาก RAM ในไมโครคอนโทรลเลอร์มือสมัครเล่นที่เป็นมิตร
หนึ่งในโครงการของฉันจะได้รับประโยชน์อย่างมากจากความสามารถในการเรียกใช้โปรแกรมที่ไม่ได้เก็บไว้ในไมโครคอนโทรลเลอร์ (แต่ถูกเก็บไว้ในการ์ด SD แทน) ดังนั้นฉันกำลังมองหาอุปกรณ์ที่จะอนุญาตให้ฉันโหลดรหัสจากการ์ด SD ลงใน RAM แล้วเรียกใช้รหัสจาก RAM ปัจจุบันฉันมีโปรแกรมเมอร์ที่มาพร้อมกับ PicKit2 เท่านั้นดังนั้นฉันจึงอยากอยู่กับ PICs ไม่มีใครรู้ว่า PIC ใดที่สามารถทำได้? หากไม่มี PIC ที่สามารถทำได้สิ่งนี้มีคอนโทรลเลอร์ไมโครที่แตกต่างกันบ้างที่ใช้งานได้ คนที่มีอยู่ในแพคเกจที่รองรับเขียงหั่นขนม

5
FPGA สามารถใช้ได้กับโครงการดังกล่าวหรือไม่
ฉันกำลังทำงานกับ Super OSD - โครงการที่แสดงผลบนหน้าจอ http://code.google.com/p/super-osdมีรายละเอียดทั้งหมด ในขณะนี้ฉันใช้ dsPIC MCU เพื่อทำงาน นี่คือ DSP ที่ทรงพลังมาก (40 MIPS @ 80 MHz, การดำเนินงานแบบวงจรเดียวสามรอบและหน่วย MAC) และที่สำคัญมันมาในแพ็คเกจ DIP (เพราะฉันใช้ breadboard เพื่อสร้างต้นแบบ) ฉัน ' m ได้รับประสิทธิภาพการทำงานแทบทุกครั้งในขณะที่ใช้ OSD - ชิปมีประมาณ 200ns หรือ 10 รอบต่อพิกเซลบนสเตจเอาท์พุทดังนั้นโค้ดจะต้องมีการปรับให้เหมาะสมที่สุดในส่วนนี้ (ด้วยเหตุนี้มันจะถูกเขียนด้วยเสมอ การชุมนุม.) ตอนนี้ฉันกำลังพิจารณาใช้ FPGA สำหรับสิ่งนี้เพราะเนื่องจากสถาปัตยกรรมแบบขนานของชิปดังกล่าวจึงเป็นไปได้ที่จะมีโปรแกรมลอจิกแบบง่าย ๆ ที่ใช้งาน OSD สิ่งที่ต้องการวาดเส้นและรหัสอัลกอริทึมจะจัดการโดย MCU แต่เอาท์พุทที่แท้จริงจะทำกับ FPGA และสิ่งง่าย ๆ …

3
มีหมายเลขซีเรียลในตัวในชิป PIC หรือไม่
ฉันมีชิป PIC16 หลายสิบ ฉันต้องการรับหมายเลขซีเรียลบางอย่างจากชิปเพื่อการระบุตัวตน ฉันรู้ว่ามันสามารถทำได้ด้วยตนเอง แต่มันน่าเบื่อ คำถาม: PIC มีหมายเลขในตัวหรือไม่ หากคำตอบคือไม่มีวิธีง่ายๆในการอัปโหลดรหัสที่มีหมายเลขเฉพาะไปยังชิปแต่ละตัวเมื่อฉันสั่งซื้อชิปจาก Microchip หรือไม่
12 pic  microchip 

5
การออกแบบวงจรที่มีอายุการใช้งานยาวนานขึ้น
ฉันเรียนรู้เกี่ยวกับไมโครคอนโทรลเลอร์ pic เป็นระยะเวลาหนึ่งและมีความรู้เกี่ยวกับการจัดการอุปกรณ์อิเล็กทรอนิกส์ดิจิทัลในระดับที่สมเหตุสมผล ฉันทำงานเกี่ยวกับโครงการอิเล็กทรอนิกส์ขั้นพื้นฐานและตอนนี้ฉันต้องทำงานกับแอพพลิเคชั่นเชิงพาณิชย์บางอย่าง คำถามของฉันเกี่ยวกับวิธีการออกแบบและสร้างวงจรที่เชื่อถือได้และยาวนาน ฉันสร้างวงจรตัวควบคุมแสงอัตโนมัติซึ่งรับอินพุตจาก LDR และแสดงค่าของการอ่านแบบอะนาล็อกบนแผงเซ็กเมนต์เจ็ดส่วน จากนั้นจะทำการคำนวณและควบคุมแสงผ่านรีเลย์ วงจรนี้จะต้องเปิดอย่างถาวร (24 ชั่วโมงต่อวัน) ไม่กี่เดือนแรกวงจรทำงานได้อย่างสมบูรณ์ แต่หลังจากประมาณ 6 เดือนมันก็เริ่มทำงานผิดปกติ มันแสดงให้เห็นถึงสิ่งที่ไร้สาระบนจอแสดงผล 7 ส่วน (แสดงเพียงบางส่วนของตัวเลข) จากนั้นจะติดหลอดไฟที่ LED แสดงสถานะ แต่มันไม่ได้เปิดสวิตช์รีเลย์นี่ไม่ใช่พฤติกรรมที่คาดหวัง สิ่งคือมันจะไม่ทำงานอย่างนั้น บางครั้งมันทำงานได้อย่างสมบูรณ์ จากนั้นมันจะเริ่มทำงานอีกครั้งเพื่อทำงานผิดพลาด ไม่มีคำสั่งที่แน่นอนในการทำงาน ทีนี้คำถามของฉันคือทำไมวงจรเหล่านี้มีพฤติกรรมแบบนี้ ฉันคิดว่านี่อาจเป็นเพราะมันทำงานได้ทั้งวันโดยไม่มีช่วงเวลาใดแอปพลิเคชันประเภทนี้ต้องทำงานตลอดทั้งวัน ฉันใช้ PIC เพราะฉันรู้เกี่ยวกับรูปเท่านั้น atmal เชื่อถือได้มากกว่ารูปหรือไม่ (ฉันถามเพราะ atmal ใช้ในแอปพลิเคชันระบบอัตโนมัติส่วนใหญ่บ่อยกว่าที่ใช้รูป) ฉันต้องการคำแนะนำจากผู้เชี่ยวชาญในอุปกรณ์อิเล็กทรอนิกส์ระบบดิจิตอล การใช้งานอุตสาหกรรมประเภทนี้สร้างขึ้นได้อย่างไร? มีกฎพิเศษที่ต้องปฏิบัติตามหรือไม่? วิธีการออกแบบวงจรที่เชื่อถือได้มากขึ้น? คำแนะนำหรือคำแนะนำจากผู้เชี่ยวชาญจะได้รับการชื่นชมอย่างมาก ขอขอบคุณ... แก้ไข ตามที่แนะนำในคำตอบฉันจะแก้ไขคำตอบของฉันโดยให้แหล่งข้อมูลเพิ่มเติมเพื่อช่วยในการหาจุดบกพร่องในการออกแบบ ภาพด้านล่างเป็นภาพที่อธิบายถึงลักษณะของวงจรหลังจากสร้างขึ้น มันเป็นศูนย์จ่ายไฟแบบต๊าป 12V ซึ่งจ่ายไฟไปยังวงจรมันได้รับการแก้ไขโดยใช้ …

3
วงจรนี้ใช้สำหรับเชื่อมสัญญาณ 20V กับไมโครคอนโทรลเลอร์ 3v3 ได้อย่างไร
ฉันได้ออกแบบวงจรต่อไปนี้เพื่อเชื่อมต่อสัญญาณ 12-20V ไปยังไมโครคอนโทรลเลอร์ที่ทำงานบน 3.3 โวลต์ สัญญาณมีทั้ง 20V หรือวงจรเปิด ฉันต้องการให้วงจรมีความยืดหยุ่นมากที่สุด มันควรจะสามารถจัดการ EMI และ ESD R1 คือการ จำกัด กระแสและไบอัสทรานซิสเตอร์ C1 คือการใช้ตัวกรองสัญญาณความถี่ต่ำ R2 ใช้เพื่อดึงฐานทรานซิสเตอร์และปล่อยตัวเก็บประจุ C1 ที่อินพุต 20V เป็น 20V หรือวงจรเปิด D1 ใช้เพื่อป้องกันทรานซิสเตอร์จากแรงดันลบที่ฐาน R3 คือการดึงขาไมโครคอนโทรลเลอร์ขึ้น ยินดีต้อนรับความคิดเห็นและการปรับปรุงใด ๆ ในวงจรนี้ คำถามด้าน:อะไรคือแรงดันบวกสูงสุดที่ทรานซิสเตอร์นี้สามารถทนได้ แผ่นข้อมูลระบุสถานะสูงสุดในปัจจุบันเป็น 100mA หากฐานถูกรักษาไว้ที่ 0.7 โวลต์อินพุตอาจมีค่ามากถึง 1,000 โวลต์ (10k ohm * 100mA) แต่ถ้าอินพุทคือ 1,000 โวลต์ตัวแบ่งที่เป็นไปได้นั้นจะสร้างแรงดันไฟฟ้าที่ฐานที่ 500 …

1
dsPIC33 กับ PIC32
เดิมทีฉันคิดว่าข้อดีของ PIC32 คือความสามารถในการจัดการ RTOS ที่ซับซ้อนยิ่งขึ้นเช่นเดียวกับที่ใช้ลินุกซ์ น่าเสียดายที่มันขาด Memory Management Unit (MMU) และ RAM เพียงพอ ดังนั้นตอนนี้ฉันพยายามเข้าใจว่าคุณจะเลือก PIC32 เป็น dsPIC33 เมื่อใด นอกเหนือจากเมื่อคุณต้องการโปรเซสเซอร์ 32 บิต dsPIC ดูเหมือนจะมีแนวโน้มมากกว่า มันมีเอ็นจิ้น DSP และความสามารถในการมีมากกว่าสองเท่าของจำนวน PWM เป็น pic32 (มากถึง 14) และสามารถมาพร้อมกับ Quadrature Encoder สถาปัตยกรรมทั้งสองสามารถมาพร้อมกับ DMA, DAC, การสื่อสารแบบดิจิตอล (I2C, SPI, UART) และนาฬิกาเรียลไทม์และปฏิทิน
11 pic  microchip 

5
อะไรคือความแตกต่างระหว่างการขัดจังหวะการเปลี่ยนแปลงและการขัดจังหวะภายนอกบน PIC
อะไรคือความแตกต่างของฟังก์ชั่นระหว่าง IOC และ EXT Interrupt บน PIC? ขณะนี้ฉันใช้ PIC12F1822 และนอกเหนือจากการตรวจสอบเลเยอร์เพิ่มเติมที่คุณต้องทำกับ IOC (เช่นพินที่ทำให้เกิดการขัดจังหวะ) ทั้งสองนั้นเหมือนกัน อะไรคือความแตกต่างในทางปฏิบัติถ้ามี? เมื่อไหร่ที่คุณจะใช้อันใดอันหนึ่ง?

2
ลำดับพินสำคัญสำหรับ RAM นี้หรือไม่
ฉันพยายามหาเส้นทางชิป pic32 ไปยัง128kB SRAMชิปและมีบิตของเวลายากรับ 17 บรรทัดที่อยู่ทั้งหมดและ 8 สายข้อมูลทั้งหมดที่เชื่อมต่อ ฉันกำลังพยายามที่จะผูกหมุดที่อยู่ 16 ตัวแรกเข้ากับพอร์ตหมุด 0-15 และหมุดข้อมูลไปยังพอร์ต 0-7 หลังจากคิดมาพักนึงแล้วฉันก็รู้ว่าฉันอาจจะทำให้ชีวิตของฉันยากขึ้นโดยพยายามจัดเรียง rb0 กับ a0, rb1 กับ a1 และอื่น ๆ ทั้งหมดที่ฉันอยากทำคือเขียนค่า 16 บิตไปยังพอร์ต B และให้ที่อยู่ส่วนใหญ่โหลดและพร้อมใช้งาน ถ้าฉันทำการกำหนดพินตามความง่ายในการเราต์โลจิคัลแอดเดรสจะแตกต่างกันระหว่าง mcu และ ram แต่อย่างน้อยก็ควรจะสอดคล้องกัน เนื่องจากไม่มีสิ่งอื่นที่จำเป็นต้องสื่อสารกับ RAM ฉันไม่คิดว่ามันจะเป็นปัญหาหาก mcu ขอที่อยู่ 0x101 และ RAM ให้ที่อยู่ 0x110 อย่างไรก็ตามฉันสงสัยว่ามันเป็นความคิดที่ดีหรือไม่ หากมีโครงสร้างภายใน RAM ที่ออกแบบมาเพื่อให้การอ่านตามลำดับมีประสิทธิภาพมากขึ้นหรืออะไรทำนองนั้นฉันอาจต้องการแก้ไขปัญหาในการกำหนดเส้นทาง 1: 1 การจัดเรียงพินในชิปทั้งสองนั้นค่อนข้างสุ่มสำหรับฉันดังนั้นมันจะทำให้ฉันง่ายขึ้นมากถ้าฉันไม่สนใจตัวเลขที่เจาะจง …
11 pic  routing  sram 

6
อะไรเป็นสาเหตุที่ทำให้เคอร์เนล RTOS มัลติทาสกิ้ง PIC16 ของฉันไม่ทำงาน?
ฉันพยายามที่จะสร้าง RTOS กึ่งร่วมมือ (pre-emptive) สำหรับไมโครคอนโทรลเลอร์ PIC x16 ในคำถามก่อนหน้านี้ฉันได้เรียนรู้ว่าการเข้าถึงตัวชี้สแต็กของฮาร์ดแวร์ไม่สามารถทำได้ในแกนประมวลผลเหล่านี้ ฉันดูที่หน้านี้ใน PIClist และนี่คือสิ่งที่ฉันพยายามนำไปใช้โดยใช้ C คอมไพเลอร์ของฉันคือ Microchip XC8 และขณะนี้ฉันกำลังทำงานกับ PIC16F616 ด้วย RC oscillator ภายใน 4MHz ที่เลือกในบิตกำหนดค่า ฉันได้เรียนรู้ว่าฉันสามารถเข้าถึงการลงทะเบียน PCLATH และ PCL ด้วย C โดยดูที่ไฟล์ส่วนหัวของคอมไพเลอร์ของฉัน ดังนั้นฉันจึงพยายามที่จะใช้งานสลับง่าย ทำงานตามที่ต้องการในตัวดีบักถ้าฉันหยุดการดีบักหลังจากรีสตาร์ทรีเซ็ตและตั้งค่าพีซีที่เคอร์เซอร์เมื่อเคอร์เซอร์ไม่อยู่ในบรรทัดแรก ( TRISA=0;) แต่อยู่บนอีกบรรทัดหนึ่ง (เช่นANSEL=0;) ในการเริ่มต้นดีบั๊กฉันได้รับข้อความเหล่านี้ในDebugger Console: Launching Programming target User program running No source code lines were found …

6
PIC ยังคงรีเซ็ต: ฉันเห็นผลข้างเคียงจากการใช้ breadboard หรือไม่?
ฉันใช้ PIC18F4680 และฉันมีปัญหาในการใช้งานมันเป็นแหล่งสัญญาณนาฬิกาภายนอก 40 MHz หรือคริสตัล 10 MHz ในโหมด HSPLL การใช้คริสตัล 10 MHz ในโหมด HS ดูเหมือนว่าจะใช้ได้และคริสตัล 5 MHz ในโหมด HSPLL ก็ทำงานได้ดีเช่นกัน สิ่งที่เกิดขึ้นคือ PIC เริ่มทำงานใช้งานได้สองสามวินาทีจากนั้นปิดลงชั่วขณะหนึ่งแล้วเริ่มอีกครั้ง รอบระยะเวลาทั้งหมดของวงจรอยู่ที่ประมาณ 5 วินาทีจากที่ PIC ทำงานหยุดทำงานในช่วงต้นของวินาทีที่สอง ฉันยังสังเกตเห็นว่าบางครั้งเมื่อฉันเพิ่มตัวเก็บประจุที่มีขนาดใหญ่พอที่จะจ่ายไฟให้กับบัสพลังงานของเขียงหั่นขนม PIC จะทำงานได้ดี จุดที่น่าสนใจคือสิ่งนี้จะเกิดขึ้นก็ต่อเมื่อฉันเพิ่มตัวเก็บประจุในขณะที่ PIC กำลังทำงานอยู่ ถ้าฉันจ่ายไฟให้กับแผงเก็บประจุด้วยตัวเก็บประจุที่นั่นหรือฉันวางตัวเก็บประจุที่ไม่ได้ถูกระบายออกอย่างสมบูรณ์ปัญหายังคงอยู่ ฉันได้อ่านในบางเว็บไซต์ที่มีปัญหาคล้ายกับของฉันเกิดขึ้นเนื่องจากการใช้พลังงานที่เพิ่มขึ้นของ PIC บนความถี่ที่สูงขึ้นและแรงดันไฟฟ้าต่ำสุดที่สูงขึ้น ในกรณีดังกล่าวหากมีแรงดันไฟฟ้าสั้น ๆ ลดลงในแหล่งจ่ายไฟพวกเขามีแนวโน้มที่จะถึงแรงดันไฟฟ้าต่ำสุดของการทำงานของ PIC บนความถี่นั้นดังนั้นจึงเป็นความคิดที่ดีที่จะมีตัวเก็บประจุเพิ่มเติมบนเขียงหั่นขนม เนื่องจากเต็มโหลดที่ 40 MHz วงจรทั้งหมดใช้ประมาณ 64 mA …


1
PIC18F4550 C-compiler ที่เป็นโอเพ่นซอร์ส & ข้ามแพลตฟอร์ม?
ฉันเป็นผู้ใช้ AVR เป็นเวลานาน ฉันชอบ AVR-GCC ที่ทำงานบนสองระบบปฏิบัติการหลักที่ฉันใช้ (Mac OS X และ Linux) เป็นโอเพ่นซอร์สและได้รับการสนับสนุนจาก Atmel ฉันต้องการกลับไปสู่การเขียนโปรแกรม PIC (ใช้ใน 90s) เนื่องจากมี PIC ที่ดีงามอยู่ที่นั่นเช่น PIC18F4550-class ของชิป น่าเสียดายที่คอมไพเลอร์ส่วนใหญ่สำหรับ PIC18 ทั้งหมดดูเหมือนจะเป็น Windows เท่านั้นและจ่ายเงิน และพวกเขามักจะมี IDE ที่ฉันไม่ต้องการ ฉันชอบคอมไพเลอร์บรรทัดคำสั่งและ Makefiles ดังนั้นฉันจึงสามารถบอกได้ด้วยการดูไฟล์เดียวว่าโค้ดได้รับการสร้างอย่างไร (และไม่ลุยผ่านเขาวงกตที่คดเคี้ยวของกล่องโต้ตอบ) ฉันแหย่ที่SDCCแต่ดูเหมือนว่าจะไม่ได้รับการสนับสนุน PIC18F4550 และแม้ว่ามันจะทำอย่างไรการบ่นบนเน็ตทำให้ฟังดูเหมือนการสนับสนุน PIC18 นั้นอ่อนแอหรือสับสนมากที่สุดในการใช้ ดังนั้นคอมไพเลอร์บรรทัดคำสั่งข้ามแพลตฟอร์มที่ดีที่มี PIC18F4550 รองรับนั้นคืออะไร? ความล้มเหลวนั้นคืออะไร C-compiler ที่ดีที่สุดสำหรับ PIC18F4550 และหนึ่งจะใช้กับ Makefiles ได้อย่างไร?
11 pic  c  compiler 

1
อัตราการฆ่า I2C คืออะไร
ฉันกำหนดค่า I 2 C บน PIC18 โดยใช้ฟังก์ชั่นในตัวของคอมไพเลอร์ C18 ดังที่อธิบายไว้ในส่วนที่ 2.4 ของเอกสาร : void OpenI2C2( unsigned char sync_mode, unsigned char slew ); slewผมไม่แน่ใจว่าสิ่งที่ฉันควรจะทำอย่างไรกับ ฉันสามารถเลือกจากสองตัวเลือกที่กำหนดไว้ในi2c.h: SLEW_OFF: อัตราการฆ่าไม่ทำงานสำหรับโหมด 100 kHz SLEW_ON: เปิดใช้งานอัตรา Slew สำหรับโหมด 400 kHz ในแผ่นข้อมูลในการลงทะเบียน 15-1 หน้า 257 ทั้งสองตัวเลือกมีการอธิบายรายละเอียดเพิ่มเติมเล็กน้อย: 1 = การควบคุมอัตราการเลื่อนไม่ทำงานสำหรับโหมดความเร็วมาตรฐาน (100 kHz และ 1 MHz) 0 = เปิดใช้งานการควบคุมอัตราสโลว์สำหรับโหมดความเร็วสูง (400 …
10 pic  c  i2c  software  c18 

3
คุณทำการปรับเทียบคริสตัล 32.768kHz สำหรับ PIC24 RTCC อย่างไร
ฉันพยายามหาวิธีที่ดีที่สุดสำหรับการปรับเทียบคริสตัล PIC24 RTCC พวกเขาทราบแอพลิเคชันระบุสองวิธี: การใช้ตารางการค้นหาและการใช้นาฬิการะบบการอ้างอิง ตามที่พวกเขาวิธีการอ้างอิงระบบนาฬิกาที่ดีที่สุด แต่พวกเขาแนะนำ oscillator ระบบที่เป็นหลาย oscillator คริสตัล RTCC เช่น 16.777MHz มีใครลองใช้กระบวนการ RIPC ของ Crystal Calibraiton สำหรับ PIC24 บ้างไหม? ฉันขอขอบคุณแนวทางปฏิบัติบางประการ ฉันใช้PIC24FJ128GA006
10 pic  crystal  rtc  calibration 

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