Агуулгын хүснэгт:
- Алхам 1: I2C автобусны тойм
- Алхам 2: VHDL дахь RTL дизайн
- Алхам 3: Симуляци ба туршилт
- Алхам 4: Чухал тэмдэглэлүүд
- Алхам 5: Файлуудыг хавсаргасан болно
Видео: VHDL дээрх I2C мастер дизайн: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Энэхүү зааварчилгаанд VHDL дээр энгийн I2C мастер зохион бүтээх талаар ярилцсан болно.
ТАЙЛБАР: Зураг бүр дээр дарж бүтэн зургийг үзнэ үү
Алхам 1: I2C автобусны тойм
• Inter Integrated Circuit гэсэн үг.
• Синхрон, хагас дуплекс.
• Хоёр утастай интерфэйс - SDA ба SCL.
• SDA - Master and Slave -ийн удирддаг сериал өгөгдлийн шугам
• SCL - Мастерын үүсгэсэн цуваа цаг
• Multi-master, Multi-slave протокол.
• Хоёр горим - 100 кбит/сек ба 400 кбит/сек: удаан, хурдан.
Алхам 2: VHDL дахь RTL дизайн
Манай I2C мастерын дизайны онцлог
- 8 битийн өгөгдлийн хүрээ.
- SCL зөвхөн нэг чиглэлтэй хяналт.
- 7 битийн боолын хаяг.
- Удаан, хурдан горимыг дэмждэг.
- Ганц бие эзэн, олон боол.
- Philips -ийн анхны I2C техникийн үзүүлэлтүүдийг дагаж мөрддөг.
Цэвэр RTL кодыг ашигладаг. Тиймээс IP нь бүх FPGA -д зөөвөрлөгдөхөд хялбар байдаг. Дотооддоо үйлдвэрлэсэн цаг ашиглан FSM дээр суурилсан авсаархан загвар нь оновчтой талбай, гүйцэтгэлийг баталгаажуулдаг.
Алхам 3: Симуляци ба туршилт
Туршилтын орчин
- Гуравдагч талын I2C Slave IP ашиглан функциональ симуляци ба туршилт.
- Xilinx Vivado багаж хэрэгслийг ашиглан нэгтгэсэн.
- Artix-7 FPGA самбар дээр хэрэгжүүлж, туршсан.
- 100 МГц давтамжтай батлагдсан дизайн.
- DSO/CRO дээр туршсан долгионы хэлбэрүүд.
- I2C Slave нэрээр Arduino UNO -той харилцаа холбоог амжилттай туршсан.
Алхам 4: Чухал тэмдэглэлүүд
- I2C Slave IP ашиглан мастерыг туршиж байхдаа боолын кодыг өөрийн шаардлагын дагуу тохируулна уу. Та үндсэн цагийн давтамж болон боолын хаягийг өөрчлөхийг хүсч магадгүй юм. Цагны давтамжийг мөн мастер кодоор тохируулах ёстой.
- ТУЗ-ийн туршилтын явцад SDA шугам нь нийтлэг ус зайлуулах гаралт тул татах резисторыг бүү мартаарай !!! I2c-ийн янз бүрийн хурдыг санал болгож буй татах эсэргүүцлийг Google-ээс шалгаарай. Би 100 кГц тутамд 2.2K ашигласан.
- Хэрэв туршилтын вандан ба Мастерыг бие даан дуурайхгүй бол хоёр чиглэлтэй дохио (оролт) дохио тул SDA дохиог сайтар дуурайгаарай. Энэ нь эзэн ба боолын тал гэсэн хоёр жолоочтой. Та хэзээ "хүчээр", хэзээ "хүчээр албадахаа" мэдэх ёстой.
- SCL нь нэг чиглэлтэй шугам юм. Татах шаардлагагүй.
- IP баримт бичгийг сайтар судалж үзээрэй.
Алхам 5: Файлуудыг хавсаргасан болно
- I2C Master -ийн бүх RTL кодууд.
- Туршилтын зориулалттай туршилтын вандан, I2C Slave кодууд.
- IP баримт бичиг.
Асууж лавлах зүйл байвал надтай холбоо бариарай.
Миту Раж
намайг дага:
Асуулт авахыг хүсвэл [email protected] хаягаар холбогдоно уу
Зөвлөмж болгож буй:
Arduino болон Python -ийн Arduino мастер номын санг ашиглан гэрлийн эрчимийг төлөвлөх нь: 5 алхам
Arduino болон Python -ийн Arduino мастер номын санг ашиглан гэрлийн эрчимийг төлөвлөх: Arduino нь хэмнэлттэй боловч өндөр үр ашигтай, ажиллагаатай хэрэгсэл бөгөөд үүнийг Embedded C дээр програмчлах нь төслүүдийг ядаргаатай болгоход хүргэдэг. Python -ийн Arduino_Master модуль нь үүнийг хялбарчилж, тооцоолол хийх, хог хаягдлыг арилгах
VHDL дээр програмчлагдах тасалдлын хянагчийн дизайн: 4 алхам
VHDL -д програмчлагдах тасалдлын хянагчийн загвар: Энэ блог дээр надад ямар төрлийн хариулт өгч байгаад би сэтгэл дундуур байна. Миний блогоор зочилж, мэдлэгээ та бүхэнтэй хуваалцах урам зориг өгсөн залуусдаа баярлалаа. Энэ удаад би бүх SOC -д харагддаг өөр нэг сонирхолтой модулийн загварыг танилцуулах болно - Interrupt C
VHDL ба Verilog дээр энгийн VGA хянагчийн дизайн: 5 алхам
VHDL ба Verilog дээрх энгийн VGA хянагчийн загвар: Энэхүү зааварчилгаанд бид RTL дээр энгийн VGA хянагч зохион бүтээх гэж байна. VGA хянагч нь VGA дэлгэцийг удирдах зориулалттай дижитал хэлхээ юм. Энэ нь харуулах хүрээг харуулсан Frame Buffer (VGA санах ой) -оос уншиж, шаардлагатай зүйлийг үүсгэдэг
VHDL дахь SPI Master -ийн дизайн: 6 алхам
VHDL дахь SPI Master -ийн дизайн: Энэхүү зааварчилгаанд бид SPH Bus Master -ийг VHDL дээр эхнээс нь зохион бүтээх гэж байна
VHDL дахь UART -ийн дизайн: 5 алхам
VHDL дахь UART -ийн дизайн: UART нь бүх нийтийн асинхрон хүлээн авагч дамжуулагч гэсэн үг юм. Энэ бол хамгийн түгээмэл бөгөөд хамгийн энгийн цуваа холбооны протокол юм.Энэ зааварчилгаанд та VHDL дээр UART модулийг хэрхэн бүтээх талаар сурах болно