Բովանդակություն:

VHDL- ում I2C մագիստրոսի ձևավորում. 5 քայլ
VHDL- ում I2C մագիստրոսի ձևավորում. 5 քայլ

Video: VHDL- ում I2C մագիստրոսի ձևավորում. 5 քայլ

Video: VHDL- ում I2C մագիստրոսի ձևավորում. 5 քայլ
Video: Pengantin Hafidzoh 2024, Նոյեմբեր
Anonim
VHDL- ում I2C մագիստրոսի ձևավորում
VHDL- ում I2C մագիստրոսի ձևավորում

Այս ուսանելի հատվածում քննարկվում է VHDL- ում պարզ I2C վարպետի նախագծումը:

Ո NOTՇԱԴՐՈԹՅՈՆ. Կտտացրեք յուրաքանչյուր պատկերի վրա `ամբողջական պատկերը տեսնելու համար:

Քայլ 1. I2C ավտոբուսի ակնարկ

• հանդես է գալիս Inter Integrated Circuit- ի համար:

• Սինխրոն, Half duplex:

• Երկու մետաղալար ինտերֆեյս `SDA և SCL:

• SDA - Սերիական տվյալների գիծ, որը վերահսկվում է Master- ի և Slave- ի կողմից

• SCL - Սերիական ժամացույց, որը ստեղծվել է Վարպետի կողմից

• Multi-master, Multi-slave արձանագրություն:

• Երկու ռեժիմ ՝ 100 կբիթ/վրկ և 400 կբիթ/վրկ ՝ դանդաղ և արագ:

Քայլ 2: RTL ձևավորում VHDL- ում

Մեր I2C վարպետի դիզայնի առանձնահատկությունները

  • 8-բիթանոց տվյալների շրջանակ:
  • Միայն SCL միակողմանի հսկողություն:
  • 7-բիթ ստրուկի հասցե:
  • Աջակցում է ինչպես դանդաղ, այնպես էլ արագ ռեժիմներին:
  • Միայնակ վարպետ, բազմաստրուկ:
  • Համապատասխանեցվել է Philips- ի օրիգինալ I2C բնութագրերին:

Օգտագործվում է մաքուր RTL կոդ: Այսպիսով, IP- ն հեշտությամբ շարժական է բոլոր FPGA- ներում: Ներքին գեներացվող ժամացույցի օգտագործմամբ FSM- ի վրա հիմնված կոմպակտ դիզայնը ապահովում է օպտիմալ տարածք և կատարում:

Քայլ 3. Մոդելավորում և փորձարկում

Փորձարկման միջավայր

  • Ֆունկցիոնալ մոդելավորում և փորձարկում երրորդ կողմի I2C Slave IP- ի միջոցով:
  • Սինթեզված ՝ օգտագործելով Xilinx Vivado գործիքակազմը:
  • Իրականացված և փորձարկված Artix-7 FPGA տախտակի վրա:
  • Mամկետների ստուգված դիզայնը 100 ՄՀց հաճախականության համար:
  • Փորձարկված ալիքի ձևեր DSO/CRO- ի վրա:
  • Հաջողությամբ փորձարկվեց Arduino UNO- ի հետ հաղորդակցությունը որպես I2C ստրուկ:

Քայլ 4: Կարևոր նշումներ

  • I2C Slave IP- ի միջոցով Master- ը փորձարկելիս կազմաձևեք ստրուկի կոդը `ըստ ձեր պահանջների: Կարող եք փոխել ժամացույցի կանխադրված հաճախականությունը և ստրուկի հասցեն: Clամացույցի հաճախականությունը նույնպես պետք է կազմաձևվի Վարպետ կոդի մեջ:
  • Ինքնաթիռի փորձարկումների ընթացքում մի մոռացեք ձգվող դիմադրողների մասին, քանի որ SDA գիծը սովորական արտահոսքի ելք է: Ստուգեք google- ը ՝ i2c տարբեր արագությունների համար առաջարկվող ձգվող դիմադրության համար: Ես օգտագործել եմ 2.2K 100 կՀց հաճախականությամբ:
  • Եթե փորձնական նստարան չեք օգտագործում և Վարպետին ինքնուրույն նմանակում եք, ապա ուշադիր մոդելավորեք SDA ազդանշանը, քանի որ այն երկկողմանի ազդանշան է (ներսից): Այն ունի երկու վարորդ ՝ վարպետ և ստրուկ կողմ: Դուք պետք է իմանաք, թե երբ է «պարտադրել» և երբ ՝ «հարկադրել»:
  • SCL- ը միակողմանի գիծ է: Ձգման կարիք չկա:
  • Խնդրում ենք մանրակրկիտ անցնել IP փաստաթղթերով:

Քայլ 5: Կցված ֆայլեր

  • I2C Master- ի բոլոր RTL կոդերը:
  • Փորձարկման նստարան, I2C Slave ծածկագրեր ՝ նույնպես ՝ փորձարկման համար:
  • IP փաստաթղթեր:

Eriesանկացած հարցի համար ազատ զգալ կապվեք ինձ հետ ՝

Միտու Ռաջ

հետևեք ինձ.

Հարցերի համար դիմեք ՝ [email protected]

Խորհուրդ ենք տալիս: