一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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ù)EM9280 Linux SPI驅(qū)動(dòng)簡(jiǎn)介

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-16 09:24 ? 次閱讀

1、簡(jiǎn)述

SPI(Synchronous Peripheral Interface)是一種同步串行數(shù)據(jù)通訊總線接口,常用于連接ADCs、EPROMs、Sensors或者是其他一些微控制器,SPI具有兩種工作模式:master和slave模式,其中master模式提供時(shí)鐘信號(hào)

EM9280提供的SPI驅(qū)動(dòng)支持master模式,該SPI接口為四線制SPI,包括:時(shí)鐘CLK、數(shù)據(jù)MISO (master in, slave out)、數(shù)據(jù) MOSI (master out, slave in)、片選CS。SPI管腳和GPIO28-GPIO31復(fù)用。具體的管腳定義請(qǐng)參見(jiàn)《EM9280工控主板數(shù)據(jù)手冊(cè)》相關(guān)章節(jié)。

本文將介紹EM9280如何實(shí)現(xiàn)SPI設(shè)備驅(qū)動(dòng)(spi-dev)以及如何使用spi-dev。

2、Linux內(nèi)核配置

內(nèi)核配置中增加以下選項(xiàng)(make menuconfig):

Device Drivers ---> SPI
Device Drivers ---> SPI ---> Freescale MXS SPI/SSP Controller
Device Drivers ---> SPI ---> User mode SPI device driver support

增加對(duì)SPI板卡一級(jí)的支持,在arch/arm/mach-mx28/board-em9280.c定義:

static struct spi_board_info spi_board_info[] __initdata = {
{
.modalias = 'spidev',
.chip_select = 0,
.max_speed_hz = 12 * 1000 * 1000,
.bus_num = 1,
.mode = SPI_MODE_3,
},
};

spi_register_board_info( spi_board_info, ARRAY_SIZE(spi_board_info)); )); 注冊(cè)spi_board_info。這個(gè)代碼會(huì)把spi_board_info注冊(cè)要鏈表board_list上, 然后spi_master的注冊(cè)會(huì)在spi_register_board_info之后,spi_master注冊(cè)的過(guò)程中會(huì)調(diào)用scan_boardinfo掃描board_list,找到掛接在它上面的spi設(shè)備,然后創(chuàng)建并注冊(cè)spi_device。這樣EM9280在系統(tǒng)啟動(dòng)完成后SPI所對(duì)應(yīng)的設(shè)備節(jié)點(diǎn)為:“/dev/spidev1.0”。

3、spi-dev的使用

SPI常用四種數(shù)據(jù)傳輸模式,主要差別在于:輸出串行同步時(shí)鐘極性(CPOL)和相位(CPHA)可以進(jìn)行配置。如果CPOL= 0,串行同步時(shí)鐘的空閑狀態(tài)為低電平;如果CPOL= 1,串行同步時(shí)鐘的空閑狀態(tài)為高電平。如果CPHA= 0,在串行同步時(shí)鐘的前沿(上升或下降)數(shù)據(jù)被采樣;如果CPHA = 1,在串行同步時(shí)鐘的后沿(上升或下降)數(shù)據(jù)被采樣。對(duì)于SPI模式的定義如下表1:

SPI Mode CPOL CPHA
0 0 0
1 0 1
2 1 0
3 1 1

應(yīng)用程序可以通過(guò)read()、write()、ioctl()函數(shù)使用spi-dev驅(qū)動(dòng),在EM9280中SPI是半雙工模式,最高波特率為12Mbps, 所以選擇調(diào)用read/write函數(shù)進(jìn)行數(shù)據(jù)通訊,而ioctl()函數(shù)僅僅用于對(duì)于SPI通訊參數(shù)的設(shè)置。如:

static const char *device = '/dev/spidev1.0';
static uint8_t mode = 3;
static uint8_t bits = 8;
static uint32_t speed = 1000000;
int main( int argc, char *argv[] )
{
int i, fd;
int ret = 0;
char wr_buf[]={ 0xff,0x00,0x1f,0x0f,0xff,0x00,0x1f,0x0f, 0xff,0x00 };
char rd_buf[10];
fd = open(device, O_RDWR);
if (fd < 0)
pabort('can't open device');
// 設(shè)置 spi mode,其定義參見(jiàn)表1
ret = ioctl(fd, SPI_IOC_WR_MODE, &mode);
if (ret == -1)
pabort('can't set spi mode');
ret = ioctl(fd, SPI_IOC_RD_MODE, &mode);
if (ret == -1)
pabort('can't get spi mode');
// 設(shè)置數(shù)據(jù)bit位
ret = ioctl(fd, SPI_IOC_WR_BITS_PER_WORD, &bits);
if (ret == -1)
pabort('can't set bits per word');
ret = ioctl(fd, SPI_IOC_RD_BITS_PER_WORD, &bits);
if (ret == -1)
pabort('can't get bits per word');
// 設(shè)置SPI通訊波特率
ret = ioctl(fd, SPI_IOC_WR_MAX_SPEED_HZ, &speed);
if (ret == -1)
pabort('can't set max speed hz');
ret = ioctl(fd, SPI_IOC_RD_MAX_SPEED_HZ, &speed);
if (ret == -1)
pabort('can't get max speed hz');
printf('spi mode: %d\n', mode);
printf('bits per word: %d\n', bits);
printf('max speed: %d Hz (%d KHz)\n', speed, speed/1000);
if( write(fd, wr_buf, ARRAY_SIZE(wr_buf)) != ARRAY_SIZE(wr_buf))
perror('Write Error');
if( read(fd, rd_buf, ARRAY_SIZE(rd_buf)) != ARRAY_SIZE(rd_buf) )
perror('Read Error');
else
{
for (i=0; i<(int)ARRAY_SIZE(rd_buf);i++)?
{
printf('0x%02X ', rd_buf[i]);
if (i%2)
printf('\n');
}
}
close(fd);

聲明:本文內(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)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11425

    瀏覽量

    212398
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6095

    瀏覽量

    36089
收藏 人收藏

    評(píng)論

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

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)
    的頭像 發(fā)表于 01-23 11:02 ?2379次閱讀
    迅為RK3568開(kāi)發(fā)板<b class='flag-5'>驅(qū)動(dòng)</b>指南<b class='flag-5'>Linux</b>中通用<b class='flag-5'>SPI</b>設(shè)備<b class='flag-5'>驅(qū)動(dòng)</b>

    龍芯中科榮獲2024年度信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)卓越貢獻(xiàn)成員單位

    近日,中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)(以下簡(jiǎn)稱“信創(chuàng)工委會(huì)”)在北京召開(kāi)2024年度工作總結(jié)座談會(huì)暨信創(chuàng)“大比武”總結(jié)大會(huì)。中國(guó)工程院院士、信
    的頭像 發(fā)表于 01-23 10:50 ?467次閱讀

    芯盛智能榮獲2024年信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)卓越貢獻(xiàn)成員單位

    日前,中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)(以下簡(jiǎn)稱 “信創(chuàng)工委會(huì)”)2024 年度總結(jié)座談會(huì)于北京隆重舉行。此次會(huì)議對(duì)在信創(chuàng)工作中作出突出貢獻(xiàn)的成員單位予以表彰。江蘇
    的頭像 發(fā)表于 01-20 09:56 ?463次閱讀

    中科曙光南京研究院方案入選江蘇省信息技術(shù)創(chuàng)新優(yōu)秀解決方案

    近日,中科曙光南京研究院傳來(lái)喜訊,其精心申報(bào)的《高端計(jì)算與分布式存儲(chǔ)一體化解決方案》(以下簡(jiǎn)稱“方案”)成功脫穎而出,榮耀入選“2024年江蘇省信息技術(shù)應(yīng)用創(chuàng)新優(yōu)秀解決方案”名單。 這一殊榮不僅是
    的頭像 發(fā)表于 01-08 15:41 ?496次閱讀

    華礪智行亮相第十六屆中國(guó)(濟(jì)南)國(guó)際信息技術(shù)博覽會(huì)

    近日,為期三天的的第十六屆中國(guó)(濟(jì)南)國(guó)際信息技術(shù)博覽會(huì)在濟(jì)南黃河國(guó)際會(huì)展中心圓滿落幕。本次盛會(huì)匯聚行業(yè)精英,以“展覽+會(huì)議+大賽+場(chǎng)景體驗(yàn)”的辦會(huì)模式,全面展示了信息技術(shù)領(lǐng)域的最新成果與創(chuàng)新趨勢(shì)。
    的頭像 發(fā)表于 12-27 13:40 ?335次閱讀

    飛騰助力首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿落幕

    近日,由中國(guó)教育技術(shù)協(xié)會(huì)主辦,教育部教育管理信息中心教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信創(chuàng)工委會(huì)支持,北京航空航天
    的頭像 發(fā)表于 12-24 09:57 ?408次閱讀

    有方科技參編的信息技術(shù)團(tuán)體標(biāo)準(zhǔn)發(fā)布

    近日,有方科技參編的《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第1部分:企業(yè)背景評(píng)價(jià)》《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第2部分:技術(shù)掌控評(píng)價(jià)》《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第
    的頭像 發(fā)表于 12-23 10:44 ?480次閱讀

    龍芯中科助力2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦

    近日,2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽在北京航空航天大學(xué)成功舉辦。本次大賽由中國(guó)教育技術(shù)協(xié)會(huì)主辦,教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信
    的頭像 發(fā)表于 12-19 17:02 ?450次閱讀

    拓維信息參與牽頭組建!長(zhǎng)沙新一代信息技術(shù)產(chǎn)教聯(lián)合體正式獲批

    的長(zhǎng)沙新一代信息技術(shù)產(chǎn)教聯(lián)合體成功獲批,為長(zhǎng)沙市信息技術(shù)產(chǎn)業(yè)發(fā)展注入了新的活力。圖/《2024年長(zhǎng)沙市市級(jí)市域產(chǎn)教聯(lián)合體名單》長(zhǎng)沙新一代信息技術(shù)產(chǎn)教聯(lián)合體將依托龍頭企
    的頭像 發(fā)表于 12-07 01:06 ?718次閱讀
    拓維<b class='flag-5'>信息</b>參與牽頭組建!長(zhǎng)沙新一代<b class='flag-5'>信息技術(shù)</b>產(chǎn)教聯(lián)合體正式獲批

    嵌入式工程師都在找的【Linux內(nèi)核調(diào)試技術(shù)】建議收藏!

    ,我們可以定位到導(dǎo)致系統(tǒng)不穩(wěn)定的具體代碼位置。然后,根據(jù)這些信息對(duì)內(nèi)核代碼進(jìn)行修復(fù)和優(yōu)化。 調(diào)試結(jié)果經(jīng)過(guò)上述調(diào)試過(guò)程,我們發(fā)現(xiàn)SPI控制器驅(qū)動(dòng)中存在一個(gè)競(jìng)態(tài)條件,導(dǎo)致在數(shù)據(jù)傳輸過(guò)程中出現(xiàn)了數(shù)據(jù)錯(cuò)亂
    發(fā)表于 11-28 15:37

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競(jìng)爭(zhēng)力百?gòu)?qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?768次閱讀

    創(chuàng)國(guó)產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡(jiǎn)稱,于2016年“信創(chuàng)工委會(huì)”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì))提出,目的就是要推動(dòng)我們國(guó)內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?726次閱讀

    加速鯤鵬落地!拓維信息創(chuàng)遷移工具榮獲鯤鵬原生開(kāi)發(fā)技術(shù)認(rèn)證

    認(rèn)證。圖/拓維·數(shù)據(jù)庫(kù)適配中間件取得鯤鵬原生開(kāi)發(fā)N認(rèn)證在數(shù)字化時(shí)代的大潮中,信創(chuàng)戰(zhàn)略作為國(guó)家推動(dòng)信息技術(shù)應(yīng)用創(chuàng)新、保障信息安全與自主可控的關(guān)鍵舉措,其重要性日益凸顯
    的頭像 發(fā)表于 09-10 08:03 ?661次閱讀
    加速鯤鵬落地!拓維<b class='flag-5'>信息</b>信<b class='flag-5'>創(chuàng)</b>遷移工具榮獲鯤鵬原生開(kāi)發(fā)<b class='flag-5'>技術(shù)</b>認(rèn)證

    梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單

    日前,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)在天津舉辦2024信息技術(shù)應(yīng)用創(chuàng)新發(fā)展大會(huì)暨解決方案應(yīng)用推廣大會(huì)。會(huì)上正式公布了2023年
    的頭像 發(fā)表于 09-09 16:29 ?631次閱讀

    中軟國(guó)際信創(chuàng)服務(wù)助力大連信創(chuàng)產(chǎn)業(yè)發(fā)展

    為進(jìn)一步激發(fā)大連本地信創(chuàng)產(chǎn)業(yè)生態(tài)的活力與潛力,搭建一個(gè)高效、開(kāi)放的交流平臺(tái)。由大連軟件行業(yè)協(xié)會(huì)攜手大連市信息技術(shù)應(yīng)用創(chuàng)新綜合服務(wù)中心主辦,中軟國(guó)際協(xié)辦的,2024年大連市信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)發(fā)展大會(huì)
    的頭像 發(fā)表于 08-27 16:49 ?1153次閱讀