chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)EM9380多路任意脈沖發(fā)生器及應(yīng)用

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-16 10:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

EM9380是面向?qū)崟r(shí)控制應(yīng)用的一款工控主板,這里所說(shuō)的實(shí)時(shí)控制是指那些控制周期可能短至幾十微妙的控制應(yīng)用。EM9380通過(guò)板上獨(dú)立運(yùn)行的硬件協(xié)處理器(Cortex-M3),可很好的滿足這類應(yīng)用的需求。多路任意脈沖發(fā)生器,就是按照用戶預(yù)設(shè)的流程,按設(shè)定的時(shí)間間隔(最短25us),同時(shí)更新多路(最多8路)數(shù)字輸出的電平狀態(tài),從而構(gòu)成多路任意周期的脈沖信號(hào)輸出。多路任意脈沖發(fā)生器功能,可用于步進(jìn)電機(jī)的控制,在紡織、印刷設(shè)備中有廣泛的應(yīng)用。本文后續(xù)部分將主要介紹在應(yīng)用程序中實(shí)現(xiàn)任意脈沖發(fā)生器功能的流程。

接口硬件說(shuō)明

EM9380中的GPIO0–GPIO15是由其硬件協(xié)處理器直接控制的,它們均可作為任意脈沖發(fā)生器的輸出,輸出的總數(shù)不超過(guò)8路。對(duì)選定作為意脈沖輸出的GPIO,首先需要設(shè)置成輸出模式。因?yàn)樵贓M9380上電或復(fù)位啟動(dòng)后,GPIO0 – GPIO15均處于輸出狀態(tài)的,由于內(nèi)部100KΩ上拉,其電平均為高電平(管腳懸空時(shí))。在實(shí)際應(yīng)用中,若需要脈沖輸出的初始電平為低電平,可在其管腳接10KΩ的下拉電阻至地。

接口軟件說(shuō)明

為了操作GPIO0–GPIO15這組GPIO,首先需要打開(kāi)硬件寫處理器的驅(qū)動(dòng)程序,其設(shè)備文件名為”MCU2:”(注意是MCU2,而不是MCU1):
#include // 數(shù)據(jù)類型定義
HANDLE hMCU2;
hMCU2 = CreateFile(_T(“MCU2:”), // name of device
GENERIC_READ|GENERIC_WRITE, // desired access
FILE_SHARE_READ|FILE_SHARE_WRITE, // sharing mode
NULL, // security attributes (ignored)
OPEN_EXISTING, // creation disposition
FILE_FLAG_RANDOM_ACCESS, // flags/attributes
NULL); // template file (ignored)

驅(qū)動(dòng)程序MCU2通過(guò)DeviceIoControl,支持以下GPIO命令:
MCU_GENERIC_GPIO_OE // 輸出使能
MCU_GENERIC_GPIO_OD // 輸出禁止,作為數(shù)字輸入
MCU_GENERIC_GPIO_SET // 輸出高電平
MCU_GENERIC_GPIO_CLR // 輸出低電平
MCU_GENERIC_GPIO_PIN // 讀取輸入管腳電平狀態(tài)
MCU_GENERIC_GPIO_OF // 實(shí)時(shí)控制輸出流

其中前5個(gè)命令通過(guò)以下的數(shù)據(jù)結(jié)構(gòu)來(lái)設(shè)置相關(guān)參數(shù),從而實(shí)現(xiàn)GPIO的命令:
typedef struct
{
BYTE ucSize; // 本數(shù)據(jù)結(jié)構(gòu)大小 = 17字節(jié)
BYTE ucCmd; // GPIO命令碼:MCU_GENERIC_GPIO_XXX
DWORD dwPins; // 操作的管腳位
DWORD dwStatus; // 返回的管腳電平狀態(tài)
DWORD dwPeriod; // 實(shí)時(shí)控制周期,單位us;= 0: 常規(guī)功能
bool bFlashed; // 保存本配置作為啟動(dòng)缺省功能
BYTE ucChkSum; // 校驗(yàn)和
} MCU_GPIO_INFO, *PMCU_GPIO_INFO; // struct for GPIO

對(duì)于本應(yīng)用來(lái)說(shuō),首先需要把所選擇的GPIO設(shè)置為輸出模式,具體代碼如下:
MCU_GPIO_INFO Info; //定義結(jié)構(gòu)對(duì)象
memset(&Info, 0, sizeof(MCU_GPIO_INFO));//清零
//填寫所需的參數(shù)
Info.ucSize = sizeof(MCU_GPIO_INFO);
Info.ucCmd = MCU_GENERIC_GPIO_OE; //設(shè)置為輸出模式
Info.dwPins = GPIO3 | GPIO2 | GPIO1 | GPIO0; //設(shè)置4路脈沖輸出
// 生成chksum字節(jié)
Info.ucChkSum = ChkSum(&Info, sizeof(MCU_GPIO_INFO)-1);
// 調(diào)用DeviceIoControl
if (!DeviceIoControl(hMCU2, // File handle to the driver
MCU_IOCTL_ACCESS, // I/O control code
&Info, // input buffer
sizeof(MCU_GPIO_INFO), // in buffer size
NULL, // out buffer
0, // out buffer size
NULL, // pointer to number of bytes returned
NULL)) // ignored (=NULL)
{
// 出錯(cuò)處理......
return FALSE;
}

其次是設(shè)置脈沖的初始電平及脈沖的更新周期,其主要代碼如下:
memset(&Info, 0, sizeof(MCU_GPIO_INFO));//清零
//填寫所需的參數(shù)
Info.ucSize = sizeof(MCU_GPIO_INFO);
Info.ucCmd = MCU_GENERIC_GPIO_SET; //輸出的初始電平為高電平
//Info.ucCmd = MCU_GENERIC_GPIO_CLR; //輸出的初始電平為低電平
Info.dwPins = GPIO3 | GPIO2 | GPIO1 | GPIO0; //設(shè)置4路脈沖輸出
Info.dwPeriod = 25; //設(shè)置更新周期為25us

接著的生成ChkSum字節(jié)和調(diào)用DeviceIoControl操作和上一步是一樣的,不再贅述。

設(shè)置了更新周期后,硬件協(xié)處理器已處于脈沖輸出狀態(tài),只等驅(qū)動(dòng)程序MCU2下傳相應(yīng)的數(shù)據(jù)流了。下傳的數(shù)據(jù)流將按以下數(shù)據(jù)結(jié)構(gòu)分包逐一下傳:
typedef struct
{
BYTE ucSize; //本數(shù)據(jù)結(jié)構(gòu)大小 = 64字節(jié)
BYTE ucCmd; // = MCU_GENERIC_GPIO_OF
BYTE ucRawDat[60]; // 更新數(shù)據(jù)字節(jié)
BYTE ucChkSum; //
} MCU_GPIO_FLOW, *PMCU_GPIO_FLOW; // struct for GPIO

每一個(gè)更新數(shù)據(jù)字節(jié)對(duì)應(yīng)著一次更新,所以一包數(shù)據(jù)可供60個(gè)更新周期使用。數(shù)據(jù)字節(jié)的格式是按GPIO的編號(hào)右對(duì)齊的,即設(shè)置的GPIO中,編號(hào)最小的那一路,其更新的bit為更新數(shù)據(jù)字節(jié)的LSB(D0),其他數(shù)據(jù)按編號(hào)遞增,向左排列至MSB(D7)。

下傳數(shù)據(jù)流,同樣需要做ChkSum,再調(diào)用DeviceIoControl:
if (!DeviceIoControl(hMCU2, //File handle to the driver
MCU_IOCTL_ACCESS, // I/O control code
&Flow, // input buffer
sizeof(MCU_GPIO_FLOW), // in buffer size
NULL, // out buffer
0, // out buffer size
NULL, // pointer to number of bytes returned
NULL)) // ignored (=NULL)
{
// 出錯(cuò)處理......
return FALSE;
}

數(shù)據(jù)更新流程說(shuō)明

對(duì)任意脈沖發(fā)生器功能,EM9380硬件協(xié)處理器內(nèi)部設(shè)置有一對(duì)256字節(jié)的乒乓Buffer。這樣驅(qū)動(dòng)程序MCU2在下傳數(shù)據(jù)包時(shí),每次可發(fā)送4個(gè)數(shù)據(jù)包(第一次下傳1個(gè)包即可),這樣可進(jìn)一步提高主CPU的工作效率。對(duì)25us更新周期來(lái)說(shuō),就表示驅(qū)動(dòng)程序下傳數(shù)據(jù)的間隔為6ms。一旦第一包數(shù)據(jù)下傳至硬件協(xié)處理器,實(shí)質(zhì)性啟動(dòng)任意脈沖波形輸出后,當(dāng)有空閑的乒乓Buffer時(shí),硬件協(xié)處理器會(huì)立即通知驅(qū)動(dòng)程序MCU2。應(yīng)用程序可設(shè)置專門線程獲取數(shù)據(jù)請(qǐng)求事件,從而啟動(dòng)數(shù)據(jù)下傳。其基本的流程如下:

DWORD dwReturn = 0; // 返回狀態(tài),= 1:數(shù)據(jù)請(qǐng)求,= 0:超時(shí)
DWORD dwTimeout = 12; // 12ms,2倍正常下傳間隔
// 初始下傳一個(gè)數(shù)據(jù)包,然后進(jìn)入主循環(huán)。
// ......
// 主循環(huán):等待下傳數(shù)據(jù)請(qǐng)求
for(; ;)
{
if (!DeviceIoControl(hMCU2, // File handle to the driver
MCU_IOCTL_WAIT_FOR_DATA, // I/O control code
&dwTimeout, // input buffer
sizeof(DWORD), // in buffer size
NULL, // out buffer
0, // out buffer size
&dwReturn, // pointer to number of bytes returned
NULL)) // ignored (=NULL)
{
// 出錯(cuò)處理......
}
if(dwReturn)
{
// 下傳數(shù)據(jù)包(4包)......
dwReturn = 0; // 清標(biāo)志
}
}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6107

    瀏覽量

    36813
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    標(biāo)桿之作:Agilent 33250A函數(shù)/任意波形發(fā)生器綜覽

    時(shí)間里風(fēng)靡全球的經(jīng)典機(jī)型。 一、Agilent 33250A:定義一代標(biāo)準(zhǔn)的全能信號(hào)源 Agilent 33250A是一款集函數(shù)發(fā)生器、任意波形發(fā)生器脈沖
    的頭像 發(fā)表于 10-13 15:08 ?147次閱讀
    標(biāo)桿之作:Agilent 33250A函數(shù)/<b class='flag-5'>任意</b>波形<b class='flag-5'>發(fā)生器</b>綜覽

    信號(hào)發(fā)生器選型指南:函數(shù)、射頻與任意波形的差異與適用場(chǎng)景

    在現(xiàn)代電子測(cè)試與測(cè)量領(lǐng)域,信號(hào)發(fā)生器是不可或缺的工具。面對(duì)市場(chǎng)上函數(shù)發(fā)生器、射頻信號(hào)發(fā)生器任意波形發(fā)生器(AWG)三大類別,如何選擇成為關(guān)
    的頭像 發(fā)表于 09-23 18:01 ?511次閱讀
    信號(hào)<b class='flag-5'>發(fā)生器</b>選型指南:函數(shù)、射頻與<b class='flag-5'>任意</b>波形的差異與適用場(chǎng)景

    延遲脈沖信號(hào)發(fā)生器在激光觸發(fā)領(lǐng)域的應(yīng)用?

    在激光技術(shù)飛速發(fā)展的當(dāng)下,高速延遲脈沖信號(hào)發(fā)生器作為激光系統(tǒng)中的關(guān)鍵部件,其重要性愈發(fā)凸顯。SYN5610型脈沖信號(hào)發(fā)生器憑借出色性能,在激
    的頭像 發(fā)表于 09-22 17:53 ?396次閱讀

    安捷倫agilent 33250a 函數(shù)發(fā)生器任意波形發(fā)生器

    任意波形比以前更加容易 新agilent 33250a的性能幾乎比同等價(jià)格的任何其它發(fā)生器高一倍。其80mhz帶寬能適應(yīng)各種各樣的應(yīng)用要求,它具有各種內(nèi)置信號(hào)、自定義的任意波形和脈沖
    的頭像 發(fā)表于 08-13 16:56 ?526次閱讀
    安捷倫agilent  33250a 函數(shù)<b class='flag-5'>發(fā)生器</b><b class='flag-5'>任意</b>波形<b class='flag-5'>發(fā)生器</b>

    德思特高達(dá)10GS/s任意波形發(fā)生器-63系列開(kāi)箱視頻 #任意波形發(fā)生器 #開(kāi)箱視頻???

    發(fā)生器
    德思特測(cè)試測(cè)量
    發(fā)布于 :2025年07月10日 14:53:39

    輕科普——任意波形發(fā)生器(AWG)架構(gòu)及指標(biāo)解析

    引言任意波形發(fā)生器(ArbitraryWaveformGenerator,簡(jiǎn)稱AWG)是由信號(hào)發(fā)生器發(fā)展而來(lái)的信號(hào)源設(shè)備。1988年,是德科技(KeysightTechnologies的前身)推出
    的頭像 發(fā)表于 06-03 09:32 ?2054次閱讀
    輕科普——<b class='flag-5'>任意</b>波形<b class='flag-5'>發(fā)生器</b>(AWG)架構(gòu)及指標(biāo)解析

    任意波形發(fā)生器在電光調(diào)制、量子光學(xué)和脈沖激光二極管中的應(yīng)用

    摘要現(xiàn)在,光學(xué)、光子學(xué)和激光技術(shù)應(yīng)用越來(lái)越流行。最新一代的科學(xué)家們正在汽車、醫(yī)療、航空航天、國(guó)防、量子和激光傳感等領(lǐng)域開(kāi)辟新天地。這些領(lǐng)域的應(yīng)用挑戰(zhàn)不斷增加。昊量光電的任意波形和函數(shù)發(fā)生器
    的頭像 發(fā)表于 05-14 11:13 ?633次閱讀
    <b class='flag-5'>任意</b>波形<b class='flag-5'>發(fā)生器</b>在電光調(diào)制<b class='flag-5'>器</b>、量子光學(xué)和<b class='flag-5'>脈沖</b>激光二極管中的應(yīng)用

    任意波形發(fā)生器在電光調(diào)制、量子光學(xué)和脈沖激光二極管中的應(yīng)用

    現(xiàn)在,光學(xué)、光子學(xué)和激光技術(shù)應(yīng)用越來(lái)越流行。新一代的科學(xué)家們正在汽車、醫(yī)療、航空航天、國(guó)防、量子和激光傳感等領(lǐng)域開(kāi)辟新天地。這些領(lǐng)域的應(yīng)用挑戰(zhàn)不斷增加。昊量電光的任意波形和函數(shù)發(fā)生器
    的頭像 發(fā)表于 04-09 16:59 ?586次閱讀
    <b class='flag-5'>任意</b>波形<b class='flag-5'>發(fā)生器</b>在電光調(diào)制<b class='flag-5'>器</b>、量子光學(xué)和<b class='flag-5'>脈沖</b>激光二極管中的應(yīng)用

    是德33220A 函數(shù)任意波形發(fā)生器

    *任意波形發(fā)生器符合 LXI C 類標(biāo)準(zhǔn) 波形生成 *20 MHz 正弦波和方波 *斜波、三角波、噪聲、帶有可變邊沿的脈沖生成、直流波形 *14 位、50 MSa/s、64 K 點(diǎn)的任意
    的頭像 發(fā)表于 02-07 15:55 ?576次閱讀

    泰克Tektronix AFG3021B 任意波形/函數(shù)發(fā)生器 函數(shù)信號(hào)源

    波形和脈沖發(fā)生器成為業(yè)內(nèi)最實(shí)用的儀器。 杰出的性能和多功能性 用戶可以選擇12 種不同的標(biāo)準(zhǔn)波形??梢砸愿卟蓸铀俾噬砷L(zhǎng)度達(dá)128K的任意波形。在脈沖波形上,可以獨(dú)立設(shè)置上升沿和下降沿
    的頭像 發(fā)表于 12-26 09:18 ?617次閱讀

    是德任意波形發(fā)生器在電力電子測(cè)試中的應(yīng)用

    電力電子技術(shù)作為現(xiàn)代電力系統(tǒng)和新能源技術(shù)的核心,其可靠性和穩(wěn)定性至關(guān)重要。而精確、高效的測(cè)試是保障電力電子設(shè)備性能的關(guān)鍵環(huán)節(jié)。是德科技(Keysight)的任意波形發(fā)生器憑借其卓越的性
    的頭像 發(fā)表于 11-26 16:43 ?622次閱讀
    是德<b class='flag-5'>任意</b>波形<b class='flag-5'>發(fā)生器</b>在電力電子測(cè)試中的應(yīng)用

    安捷倫8110A 脈沖碼型發(fā)生器

    8110A脈沖碼型發(fā)生器,具有精密的邊沿定位和仿真真實(shí)世界所產(chǎn)生數(shù)字信號(hào)的能力,適于和Keysight示波器或邏輯分析儀配合使用。 您可在工作臺(tái)上驗(yàn)證設(shè)計(jì),在使模擬成為不確定的頻率下迅速得到可靠
    的頭像 發(fā)表于 11-25 14:22 ?848次閱讀

    最新發(fā)布!高性能任意波形發(fā)生器與快速切換DDS信號(hào)發(fā)生器!

    快訊1.PCIe 旗艦系列任意波形發(fā)生器卡TS-M5i.63xx系列正式發(fā)布,可生成 10 GS/s 采樣率和 2.5 GHz 帶寬的波形! 科學(xué)家和工程師能夠通過(guò)TS-M5i.63xx系列產(chǎn)品在
    的頭像 發(fā)表于 11-01 11:18 ?832次閱讀
    最新發(fā)布!高性能<b class='flag-5'>任意</b>波形<b class='flag-5'>發(fā)生器</b>與快速切換DDS信號(hào)<b class='flag-5'>發(fā)生器</b>!

    Spectrum儀器發(fā)布PCIe系列任意波形發(fā)生器

    Spectrum儀器近日宣布推出全新的PCIe旗艦系列任意波形發(fā)生器卡(AWG),為用戶提供了一種強(qiáng)大的臺(tái)式任意波形發(fā)生器替代方案。
    的頭像 發(fā)表于 10-28 18:07 ?937次閱讀