Мазмуну:
- 1 -кадам: 1 -кадам: Бул кантип иштейт
- 2 -кадам: 2 -кадам: Basys 3 тактасын программалоо
- 3 -кадам: 3 -кадам: Аны кантип колдонуу керек
Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул үйрөткүч UART Serial терминалдык модулун жана матрицаны чечүүчү модулду ишке ашыруу менен 2ден 2ге чейин матрицаны кантип чыгарууну көрсөтөт. Колдонуучу 2ден 2ге чейин матрицаны киргизе алат, андан кийин ишке ашырылган дизайн сызыктуу системанын чечимин түкүрөт.
Бул кодду колдонуу үчүн, сизге керек болот:
- Digilent Basys 3 FPGA тактасы
- Xilinx Vivado программасы бар компьютер (Webpack Edition иштейт). Бул модуль үчүн биз 2017.2 версиясын колдондук.
- Микро USB кабели (маалыматтарды берүү жөндөмдүү)
Авторлор: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: Digital Design
- EE/CPE 133 Инструктор: Жозеф Калленес
Булактар:
- UART_TX, UART_RX:
- Чыгуу:
Белгисиз эки санды бөлүү функциясы:
1 -кадам: 1 -кадам: Бул кантип иштейт
Киргизүүлөр: Колдонуучу компьютердик терминалга сызыктуу системаны киргизет, андан кийин UART модулу аларды матрицаны чечүүчү модулдун манипуляциясы үчүн массивге айлантат. UART модулу колдонуучу менен интерфейс түзөт жана аларга тиешелүү матрицаны киргизүүгө, ошондой эле маалыматтарды туура киргизүүгө жетекчилик кылууга мүмкүндүк берет. Системада ошондой эле Basys3 тактасынын эң сол жагындагы которуштурулган картаны баштапкы абалга келтирүү/иштетүү бар.
Чыгыштар: Матрицаны чечүүчүлөрдүн жыйынтыктары UART модулунун интерфейси аркылуу өтүп, андан кийин экранда көрсөтүлгөн чечимдер менен компьютердин терминалында көрсөтүлөт. Матрицаны чечүүчү UART модулуна кол коюлбаган стандарттык логикалык векторлорду чыгарат, бул аларды колдонуучуга ыңгайлуу болгон жыйынтыктарга айлантат. Учурдагы матрицанын чечүүчүсү 15ке чейинки сандарды гана киргизе алат жана чыгаруу натыйжасы таза бүтүн сан болушу керек же матрицаны чечүүчү программа туура чечимди чыгара албайт.
Жогорку деңгээлдеги "Сериялык башкаруу" модулу: Колдонуучу UART_TX жана UART_RX модулдары аркылуу бул модулга каалаган сызыктуу системасын киргизет жана ал компьютердин терминалындагы кириштерди матрицаны чечүүчү модуль тарабынан иштелип чыккан стандарттык логикалык векторлордун массивине айландырат. Матрицаны чечүүчү модуль андан кийин UART сериялык интерфейси аркылуу экранда көрсөтүлүүчү стандарттык логикалык векторлордун массивин кайтарат. UART модулдары аркылуу маалыматтарды берүү жана алуу бул модулда өтө узун FSMди колдонуу аркылуу ишке ашат.
UART_TX модулу: Колдонуучу USB интерфейси аркылуу маалыматтарды жөнөтүү үчүн 8 биттик стандарттык логикалык векторду жана жөнөтүү сигналын киргизет. Ал маалыматтарды жөнөтүп жатканда, TX_Active сигналы жогору. Ал маалыматтарды жөнөткөндөн кийин, TX_Done сигналы кагылат.
UART_RX модулу: Колдонуучу USB интерфейсинен бир убакта 8 бит маалымат алат. RX_DVден келген импульс - бул маалыматтар алынганын жана RX_Byte вектордук логикасын окууга болоорунун көрсөткүчү.
Matrix Solver Module: Матрицаны чечүүчү UART модулунан матрицаны көрсөтүүчү массивди алат. Андан кийин матрицаны чечүүчү сызыктуу системанын ар бир санын бүтүндөй сандарга айландырат жана алар менен иштөөнү жеңилдетет. Матрицаны чечүүчү модулдун ичинде бир нече суб модулдар бар. Биринчи суб модуль - бул матрицаны алып, андан кийин берилген матрицанын тескерисин берген inverse_matrix_1. Кийинки суб модуль - бул жалпы матрицаны стандарттык матрицалык операцияларды колдонуу менен тескери матрицага көбөйткөн мультипликатор. Биринчиден, башкы модуль бир жоопту чыгаруу үчүн аларды картага түшүрөт.
2 -кадам: 2 -кадам: Basys 3 тактасын программалоо
Төмөндөгү баштапкы кодду алгандан кийин, интерфейсти колдонуу үчүн basys 3 тактасына жүктөңүз.
reference.digilentinc.com/basys3/refmanual
3 -кадам: 3 -кадам: Аны кантип колдонуу керек
Basys3 UART менен байланышуу үчүн 9600 baudдагы сериялык интерфейсти колдонуңуз. Мен Linuxту төмөнкү экран менен колдондум:
экран /dev /ttyUSB1 9600
Муну linuxта жасоо үчүн мен колдонуучумду "dialout" тобуна кошууга туура келди. Windowsто шпаклевка иштеши керек, ал эми MacOSXте Linuxко окшош процесс болушу керек.
Эң сол жактагы которгучту күйгүзүү абалына которуу матрицанын чечүүчүсүн баштайт. Аны өчүрүү матрицанын чечүүчүсүн баштапкы абалга келтирет.
Сунушталууда:
Кантип кадам эсептегич жасоо керек?: 3 кадам (сүрөттөр менен)
Step Counter кантип жасалат ?: Мен көптөгөн спортто жакшы аткарчумун: жөө басуу, чуркоо, велосипед тебүү, бадминтон ойноо ж.б. Мейли, менин ичимди карачы ……. Ооба, баары бир мен машыгуу үчүн кайра баштоону чечтим. Мен кандай жабдыктарды даярдашым керек?
IPodдо Doomду 5 жеңил кадам менен ойноңуз !: 5 кадам
Doom'ду IPodдо 5 жеңил кадам менен ойноңуз!: Doom жана башка ондогон оюндарды ойноо үчүн iPod'уңузда Rockboxту кантип кош жүктөө керектиги боюнча этап-этабы менен көрсөтмө. Бул чындыгында оңой нерсе, бирок менин iPodдо кыйроо ойноп жатканымды көргөндөрдүн көбү дагы эле таң калышат жана көрсөтмө менен чаташып кетишет
WordPressке плагиндерди 3 кадам менен кантип орнотсо болот: 3 кадам
WordPressке плагиндерди 3 этапта кантип орнотуу керек: Бул үйрөткүчтө мен сизге веб -сайтыңызга WordPress плагинин орнотуу үчүн эң маанилүү кадамдарды көрсөтөм. Негизи плагиндерди эки башка жол менен орнотсоңуз болот. Биринчи ыкма ftp же cpanel аркылуу болот. Бирок мен аны тизмектебейм, анткени бул чындыгында нааразы
Кадам моторун айдоо үчүн 556 таймерди колдонуу: 5 кадам
Step моторун айдоо үчүн 556 таймерди колдонуу: Бул инструкция 556 таймердин кантип тепкичтүү моторду айдай аларын түшүндүрүп берет
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)