www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 工業(yè)控制 > 電路設(shè)計(jì)項(xiàng)目集錦
[導(dǎo)讀]如果您愿意,您甚至可以使用I2Ctools在總線上讀寫。這可以使用命令sudo i2cget 3 0x3f 0x01來實(shí)現(xiàn)。這是從I2C總線3中獲得的,在設(shè)備地址0x3F處,寄存器0x01的內(nèi)容,這是溫度傳感器上的whoami寄存器。根據(jù)數(shù)據(jù)表,0xA0的值是正確的

該項(xiàng)目還將創(chuàng)建一個(gè)Vivado和PetaLinux設(shè)計(jì),該設(shè)計(jì)與安裝在ZUBoard上的SPI和I2C傳感器以及支持I2C點(diǎn)擊模塊一起工作。

然后,我們將使用I2C點(diǎn)擊接口與微點(diǎn)擊無刷3板一起工作,以控制簡(jiǎn)單的BLDC電機(jī)。

Vivado構(gòu)建

要在Vivado中開始非常簡(jiǎn)單,我們需要?jiǎng)?chuàng)建一個(gè)針對(duì)ZUBoard的項(xiàng)目

選擇RTL Project,但不指定源

選擇ZUBoard,如果還沒有安裝,點(diǎn)擊安裝按鈕

單擊finish打開項(xiàng)目

項(xiàng)目打開后,創(chuàng)建一個(gè)新的框圖

保持姓名等不變

添加Zynq MPSoC處理元件

運(yùn)行塊自動(dòng)化,為ZUBoard配置正確配置Processing System

從boards選項(xiàng)卡將下列內(nèi)容拖到框圖上

結(jié)果應(yīng)該如下所示

運(yùn)行連接自動(dòng)化

這將給出如下所示的結(jié)果框圖

重新定制Zynq MPSoC,在PS/PL選項(xiàng)卡上禁用AXI HPM1 FPD接口

在同一個(gè)PS/PL接口上,使能從PL到PS IRQ0的中斷

在IO配置選項(xiàng)卡上啟用SPI1并將其設(shè)置為EMIO -這使得引腳在PL中可用,并且意味著我們可以將它們路由到FPGA IO。

?添加一個(gè)Concat塊來提供中斷

?將concat塊設(shè)置為有5個(gè)輸入

?在AXI GPIO塊上啟用中斷

?記住對(duì)兩個(gè)AXI GPIO都這樣做

將所有塊中斷輸出連接到concat塊輸入,將concat塊的輸出連接到Zynq MPSoC中斷輸入。

使主SPI外部的EMIO引腳

添加一個(gè)常量塊并將其連接到EMIO SPI SS輸入

完成的設(shè)計(jì)應(yīng)該如下所示

創(chuàng)建一個(gè)HDL包裝器,讓Vivado管理它

創(chuàng)建一個(gè)新的約束文件,并添加以下內(nèi)容

構(gòu)建項(xiàng)目并在構(gòu)建后導(dǎo)出XSA。

PetaLinux

創(chuàng)建一個(gè)新的petalinux項(xiàng)目,運(yùn)行petalinux設(shè)置腳本

創(chuàng)建一個(gè)新項(xiàng)目

使用剛剛導(dǎo)出的XSA自定義項(xiàng)目-將目錄更改為剛剛創(chuàng)建的項(xiàng)目,并運(yùn)行指向XSA的命令

這將打開對(duì)話框

關(guān)閉對(duì)話框,不做任何更改

運(yùn)行該命令定制內(nèi)核

修改驅(qū)動(dòng)程序以包括UserSpace SPI,退出并保存設(shè)置

運(yùn)行命令來定制屋頂

啟用I2Ctools——這非常有用

在ZUBoard_live/project-spec/meta-user/recipes-bsp/device-tree/files目錄下編輯文件system_user. conf。如下圖所示

使用命令構(gòu)建項(xiàng)目

等待構(gòu)建完成,然后運(yùn)行該命令

這將創(chuàng)建引導(dǎo)文件,復(fù)制boot.bin,鏡像??煽毓韬蛨D像。b到SD卡上。

硬件測(cè)試

一旦董事會(huì)已經(jīng)啟動(dòng)了UART終端,我們應(yīng)該能夠登錄到ZuBoard并運(yùn)行命令

這將顯示I2C和SPI Dev接口

由于我們已經(jīng)安裝了I2C工具,我們也可以使用它們來掃描I2C網(wǎng)絡(luò),運(yùn)行命令i2detect將顯示所有I2C驅(qū)動(dòng)程序

然后我們可以掃描一個(gè)特定的I2C接口來確定連接的是什么。

如果您愿意,您甚至可以使用I2Ctools在總線上讀寫。這可以使用命令sudo i2cget 3 0x3f 0x01來實(shí)現(xiàn)。這是從I2C總線3中獲得的,在設(shè)備地址0x3F處,寄存器0x01的內(nèi)容,這是溫度傳感器上的whoami寄存器。根據(jù)數(shù)據(jù)表,0xA0的值是正確的

溫度傳感器

要開始我們的SW開發(fā),我們需要首先插入SD卡,確保ZUBoard設(shè)置為從SD啟動(dòng),連接單擊無刷3模塊并給板上電。

至關(guān)重要的是,我們需要有一個(gè)以太網(wǎng)連接,也為調(diào)試和軟件開發(fā)。

?使用從Vivado導(dǎo)出的XSA文件,我們可以打開一個(gè)新的Vitis項(xiàng)目并開發(fā)我們的軟件

?創(chuàng)建一個(gè)新的應(yīng)用程序項(xiàng)目

?選擇新的應(yīng)用程序項(xiàng)目并以從Vivado導(dǎo)出的XSA為目標(biāo)

?選擇PSU_CORTEXa53_SMP作為目標(biāo)類型

?注意操作系統(tǒng)是Linux

?選擇hello world應(yīng)用程序

這將為項(xiàng)目打開Vitis的工作空間

在這里,我們可以用下面的代碼修改helloworld代碼,它將測(cè)試ZUBoard上的溫度傳感器

為了調(diào)試它,我們首先需要設(shè)置一個(gè)遠(yuǎn)程目標(biāo)連接,為此我們需要ZUBoard的IP地址

一旦安裝完成,我們就可以運(yùn)行應(yīng)用程序,我們將看到報(bào)告的溫度。

Vitis - Brushless 3 Click

現(xiàn)在開始與無刷點(diǎn)擊3工作,這是通過I2C控制。

創(chuàng)建一個(gè)針對(duì)相同平臺(tái)的新應(yīng)用程序項(xiàng)目,再次選擇hello world應(yīng)用程序,并用下面的代碼替換代碼。

當(dāng)我們運(yùn)行它并將其連接到電機(jī)上時(shí),我們可以看到電機(jī)啟動(dòng)并旋轉(zhuǎn)。

電機(jī)起動(dòng)與運(yùn)行

我們可以在Vitis的控制臺(tái)中看到我們輸出的任何消息。

結(jié)論

在這個(gè)項(xiàng)目中,我們已經(jīng)看到了如何為ZUBoard創(chuàng)建Vivado設(shè)計(jì)。將這些Vivado設(shè)計(jì)導(dǎo)入到PetaLinux中,并創(chuàng)建一個(gè)嵌入式Linux解決方案,使我們能夠使用嵌入式Linux特性與傳感器和物理驅(qū)動(dòng)器一起工作。

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉