亚洲爆乳成AV人在线视菜奈实_欧美一进一出抽搐大尺度视频 _日本十八禁免费看污网站_国产一区二区怡红院_6080YY新视觉影院_蜜臀AV无码人妻精品_成人影院YY111111在线_成人欧美一区二区三区1314_少妇饥渴偷公乱A级无码

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
基于i.mx6高清視頻采集技術詳解
成都嵌智捷科技有限公司
收藏本文     查看收藏

1          概述

本文介紹基于freescale i.MX6 高清視頻采集方案的技術詳解,高清視頻輸入可以為HDMIDVI或者VGA的方式。分辨率支持1600*1200@60、1920*1080@60、1280x720@60HZ等多種。視頻解碼芯片采用ADI的ADV7441A。

實現低成本、高性能、高集成度的視頻采集產品。

包括硬件設計詳解、軟件設計詳解。

2         功能列表

序號

功能

詳細說明

1

處理器

Freescale’s i.MX6 Dual CPUs: ARM Cortex A9, each @ 1GHz

2

內存

1GB DDR3 1066MHz

3

存儲器

Emmc NAND FLASH 4GB

4

TF卡

TF卡,

5

以太網

10M/100/100M以太網

6

USB HOST

USB HOST,USB 2.0

7

固態硬盤

Msata硬盤

8

高清視頻輸入

支持一路VGA或者HDMI或者DVI高清視頻輸入,分辨率為1600*1200@60或者1920*1080@60或者1280x720@60HZ等

9

H.264或者MPEG4編碼

支持H.264或者MPEG4編碼,分辨率至少為1600*1200@30或者1920*1080@30或者1280x720@60HZ等

10

操作系統

Linux 3.0.15

11

工作溫度

-40℃-70℃

3         系統框圖

產品系統主要包括i.MX6 Dual處理器、以太網、高清視頻解碼芯片、固體硬盤、USB HOST以及調試串口。

功能見如下框圖

                            

4         軟件設計

4.1        CSI框圖

4.2      ADV7441A I2C寄存器設置

42 03 0C ; Disable TOD

42 05 02 ; Prim_Mode =010b for automatic graphics mode

42 06 07 ; VID_STD=00111b for automatic graphics mode

42 1D 40 ; Disable TRI_LLC

42 3C A8 ; SOG Sync level for atenuated sync, PLL Qpump to default

42 37 00 ; PCLK Polarity

42 47 0A ; Enable Automatic PLL_Qpump and VCO Range

42 68 F2 ; Auto CSC, RGB Out

42 6B F2 ; Setup CPOP_SEL & DE Enable

42 7B 1D ; Turn off EAV and SAV codes

42 7C 00 ; HS/VS Positive

42 7E 03 ; HS Adjust

42 7F 88 ; VS Adjust

42 F4 3F ; Max Drive Strength

42 87 E8 ; Enable Manual PLL Divider Ratio 0x870 = 2160

42 88 70 ; Set PLL Divider Ratio

42 8C 07 ; HS adjust

42 8D 5A ; HS adjust

42 8E 87 ; VBI Adjust

42 8F 01 ; Set Free Run Line Length 0x17E = 382

42 90 7E ; Set Free Run Line Length

42 AB 4E ; Set Line Count Max 0x4E2 = 1250

42 AC 20 ; Set Line Count Max

42 B5 08 ; Deglitch Filter adjust

42 91 10 ; Progressive

4.3      引腳定義

static iomux_v3_cfg_t mx6q_sabresd_csi1_sensor_pads[] = {

        /* IPU2 tvin */

        MX6Q_PAD_EIM_DA0__IPU2_CSI1_D_9,

        MX6Q_PAD_EIM_DA1__IPU2_CSI1_D_8,

        MX6Q_PAD_EIM_DA2__IPU2_CSI1_D_7,

        MX6Q_PAD_EIM_DA3__IPU2_CSI1_D_6,

        MX6Q_PAD_EIM_DA4__IPU2_CSI1_D_5,

        MX6Q_PAD_EIM_DA5__IPU2_CSI1_D_4,

        MX6Q_PAD_EIM_DA6__IPU2_CSI1_D_3,

        MX6Q_PAD_EIM_DA7__IPU2_CSI1_D_2,

        MX6Q_PAD_EIM_EB2__IPU2_CSI1_D_19,

        MX6Q_PAD_EIM_D16__IPU2_CSI1_D_18,

        MX6Q_PAD_EIM_D18__IPU2_CSI1_D_17,

        MX6Q_PAD_EIM_D19__IPU2_CSI1_D_16,

        MX6Q_PAD_EIM_D20__IPU2_CSI1_D_15,

        MX6Q_PAD_EIM_D26__IPU2_CSI1_D_14,

        MX6Q_PAD_EIM_D27__IPU2_CSI1_D_13,

        MX6Q_PAD_EIM_D28__IPU2_CSI1_D_12,

        MX6Q_PAD_EIM_D17__IPU2_CSI1_PIXCLK,

        MX6Q_PAD_EIM_EB3__IPU2_CSI1_HSYNC,

        MX6Q_PAD_EIM_D29__IPU2_CSI1_VSYNC,

        MX6Q_PAD_EIM_D31__GPIO_3_31,            /* tvin reset , low */

};

4.4      adv7441a復位和CPU相應寄存器初始化

       #define SABRESD_TVIN_REST       IMX_GPIO_NR(3, 31)

       static void mx6q_csi1_io_init(void)

{

        mxc_iomux_v3_setup_multiple_pads(mx6q_sabresd_csi1_sensor_pads,

                ARRAY_SIZE(mx6q_sabresd_csi1_sensor_pads));

        /* tvin reset */

        gpio_request(SABRESD_TVIN_REST, "tvin-rest");

        gpio_direction_output(SABRESD_TVIN_REST, 1);

        gpio_direction_output(SABRESD_TVIN_REST, 0);

        msleep(10);

        gpio_direction_output(SABRESD_TVIN_REST, 1);

        /* For MX6Q:

         * GPR1 bit19 and bit20 meaning:

         * Bit19:       0 - Enable mipi to IPU1 CSI0

         *                      virtual channel is fixed to 0

         *              1 - Enable parallel interface to IPU1 CSI0

         * Bit20:       0 - Enable mipi to IPU2 CSI1

         *                      virtual channel is fixed to 3

         *              1 - Enable parallel interface to IPU2 CSI1

         * IPU1 CSI1 directly connect to mipi csi2,

         *      virtual channel is fixed to 1

         * IPU2 CSI0 directly connect to mipi csi2,

         *      virtual channel is fixed to 2

         * For MX6DL:

         * GPR13 bit 0-2 IPU_CSI0_MUX

         *   000 MIPI_CSI0

         *   100 IPU CSI0

        if (cpu_is_mx6q())

                mxc_iomux_set_gpr_register(1, 20, 1, 1);

 //  CPU工作在IPU2 CSI1

        else if (cpu_is_mx6dl())

                mxc_iomux_set_gpr_register(13, 0, 3, 4);

}

 

 

 

4.5      V4L主設備驅動

 

static int mxc_v4l2_s_param(cam_data *cam, struct v4l2_streamparm *parm)

        if (ifparm.if_type == V4L2_IF_TYPE_BT656) {

            if (ifparm.u.bt656.clock_curr == 0) {

                csi_param.clk_mode = IPU_CSI_CLK_MODE_CCIR656_INTERLACED;

            } else {

                if (cam->device_type != 1)

                    csi_param.clk_mode = IPU_CSI_CLK_MODE_GATED_CLK;

                else

                    csi_param.clk_mode = IPU_CSI_CLK_MODE_CCIR656_PROGRESSIVE;

            }

            if (ifparm.u.bt656.mode == V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT) {

                csi_param.data_width = IPU_CSI_DATA_WIDTH_8;

            } else if (ifparm.u.bt656.mode

                    == V4L2_IF_TYPE_BT656_MODE_NOBT_10BIT) {

                csi_param.data_width = IPU_CSI_DATA_WIDTH_10;

            } else {

                csi_param.data_width = IPU_CSI_DATA_WIDTH_8;

            }

            csi_param.Vsync_pol = ifparm.u.bt656.nobt_vs_inv;

            csi_param.Hsync_pol = ifparm.u.bt656.nobt_hs_inv;

            csi_param.pixclk_pol = ifparm.u.bt656.latch_clk_inv;

            csi_param.ext_vsync = ifparm.u.bt656.bt_sync_correct;

        } if (ifparm.if_type == V4L2_IF_TYPE_BT1120) {

            {

                if (ifparm.u.bt1120.clock_curr == 0) {

                    csi_param.clk_mode = IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_SDR;

                }

 else {

                    if (cam->device_type != 1)

                        csi_param.clk_mode = IPU_CSI_CLK_MODE_GATED_CLK;

                    else

                        csi_param.clk_mode = IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR;

                }

            }

            if (ifparm.u.bt1120.mode == V4L2_IF_TYPE_BT1120_MODE_BT_8BIT) {

                csi_param.data_width = IPU_CSI_DATA_WIDTH_8;

            } else if (ifparm.u.bt1120.mode

                    == V4L2_IF_TYPE_BT1120_MODE_BT_16BIT) {

                csi_param.data_width = IPU_CSI_DATA_WIDTH_16;

            } else {

                csi_param.data_width = IPU_CSI_DATA_WIDTH_8;

            }

            csi_param.Vsync_pol = ifparm.u.bt1120.nobt_vs_inv;

            csi_param.Hsync_pol = ifparm.u.bt1120.nobt_hs_inv;

            csi_param.pixclk_pol = ifparm.u.bt1120.latch_clk_inv;

            csi_param.ext_vsync = ifparm.u.bt1120.bt_sync_correct;

        }

 

4.6      adv7441a_probe函數

 

static int adv7441a_probe(struct i2c_client *client,

                const struct i2c_device_id *id)

{

        int ret = 0;

        tvin_plat = client->dev.platform_data;

        if (tvin_plat->io_init)

                tvin_plat->io_init();

        if (tvin_plat->reset)

                tvin_plat->reset();

        if (tvin_plat->pwdn)

                tvin_plat->pwdn(0);

        msleep(1);

        /* Set initial values for the sensor struct. */

        memset(&adv7441a_data, 0, sizeof(adv7441a_data));

        adv7441a_data.sen.i2c_client = client;

        adv7441a_data.sen.streamcap.timeperframe.denominator = 30;

        adv7441a_data.sen.streamcap.timeperframe.numerator = 1;

        adv7441a_data.std_id = V4L2_STD_ALL;

        video_idx = ADV7441A_NOT_LOCKED;

        adv7441a_data.sen.streamcap.capability = V4L2_MODE_HIGHQUALITY | V4L2_CAP_TIMEPERFRAME;

        adv7441a_data.sen.pix.width = video_fmts[video_idx].raw_width;

        adv7441a_data.sen.pix.height = video_fmts[video_idx].raw_height;

 adv7441a_data.sen.pix.pixelformat = V4L2_PIX_FMT_YUYV; //像素格式

        adv7441a_data.sen.pix.priv = 1;  /* 1 is used to indicate TV in */

        adv7441a_data.sen.on = true;

        adv7441a_data.sen.csi = 1;

}

4.7      V4L從設備給V4L主設備的獲取時序模式參數的函數

static int ioctl_g_ifparm(struct v4l2_int_device *s, struct v4l2_ifparm *p)

{

        if (s == NULL) {

                pr_err("   ERROR!! no slave device set!\n");

                return -1;

        }

        /* Initialize structure to 0s then set any non-0 values. */

        memset(p, 0, sizeof(*p));

        p->if_type = V4L2_IF_TYPE_BT1120;/* This is the only possibility. */

        p->u.bt656.mode = V4L2_IF_TYPE_BT1120_MODE_BT_8BIT;

        p->u.bt656.clock_curr = 1;

        return 0;

}

 

4.8      V4L從設備給V4L主設備的獲取分辨率的函數

 

static int ioctl_enum_framesizes(struct v4l2_int_device *s,

                struct v4l2_frmsizeenum *fsize)

{

        if (fsize->index >= 1)

                return -EINVAL;

                fsize->discrete.width = (hdmi_read(0x07) & 0x0f) * 256 + hdmi_read(0x08);

                fsize->discrete.height = (hdmi_read(0x09) & 0x0f) * 256 + hdmi_read(0x0a);

                adv7441a_autoset(fsize->discrete.width, fsize->discrete.height);

                fsize->discrete.height -= (fsize->discrete.height) % 8;

        return 0;

}

 


 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 成都嵌智捷科技有限公司
聯 系 人: 楊先生
電  話: 028-85873091
傳  真: 02885873091
地  址: 成都西航港長城路1段187號
郵  編: 610225
主  頁:
 
 
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

护士HD老师FREE性ⅩⅩⅩ| 亚洲国产精品久久精品| 亚洲AV秘 无码一区二区三l| 亚洲成AⅤ人的天堂在线观看女人| 亚洲欧美日韩另类| 一本一道AV无码中文字幕麻豆 | 美女扒开粉嫩尿口的照片| 年轻老师的滋味3在观整有限中字| 欧美性大战XXXXX久久久√| 日韩精品无码专区免费视频 | 人妻内射.PORN| 色噜噜狠狠色综合成人网| 无码精品毛片波多野结衣 | AVTT天堂网AV无码| 成年丰满熟妇午夜免费视频| 国产成人精品三级在线影院| 国产在线观看无遮挡无码AⅤ多人| 精品无码久久久久久久动漫 | 熟妇人妻中文A∨无码| 午夜影视啪啪体验区入口| 亚洲国产欧美在线成人| 尤物193在线人妻精品免费| ⅩXXⅩ内射意大利老妇| 成人午夜亚洲精品无码区毛片 | 麻豆E奶女教师国产精品| 欧美老熟妇欲乱高清视频| 日韩一区二区三区精品视频| 无码日韩精品一区二区免费暖暖| 亚洲成AV人片天堂网| 一下子就弄进去岳的身体| GOGO高清大胆全人艺术| 伽罗ちゃんが腿法| 国语自产精品视频在线区| 久久综合给合久久狠狠狠88| 欧美日韩中文字幕视频不卡一二区 | 被两个老头咬住吃奶野战| 国产精品国产三级国产普通话| 近親五十路六十被亲子中出| 美美女高清毛片视频免费观看| 人妻中文无码就熟专区| 无码人妻少妇色欲AV一区二区| 亚洲精品无码久久久久| 18禁真人床震无遮挡免费| 播放灌醉水嫩大学生国内精品| 国产精品久久久久精品| 九九视频免费精品视频| 年轻漂亮岳每4乱理2| 色一情一乱一乱一区91Av奶水| 亚洲AV无码成人精品区伊人小说| 一区蜜桃中文不卡在线| 锕锕锕锕锕锕~好湿WWW| 国产精品久久国产精品99盘| 精品亚洲国产成人小电影| 女人18片毛片60分钟| 少妇寂寞难耐被黑人中出| 亚洲国产精品久久久久蜜桃噜噜 | 欧美人与人动人物2020| 四虎成人精品国产永久免费无码| 亚洲国产成人五月综合网| 18禁全彩肉肉无遮挡| 丰满爆乳一区二区三区| 狠狠做深爱婷婷久久综合一区| 免费乱码人妻系列无码专区| 色妞精品AV一区二区三区| 亚洲成A人V在线蜜臀| 67194熟妇人妻欧美日韩| 国产69精品久久久久999小说| 交换朋友夫妻互换客厅韩国5| 女BBBB槡BBBB槡BBBB| 天天狠天天透天天爱综合 | 被黑人巨茎日出白浆的少妇| 国产日产欧产精品精品软件| 久久夜色精品国产亚洲| 日产无人区一线二线三线观看| 亚洲AV噜噜在线成人网站| 最新高清中文字幕免费MV| 国产92刮伦脏话对白| 精品无码中文字幕不卡| 强行暴力肉体进入HDⅩXXX| 午夜福制92视频| 中国少妇精品久久久久无码AV| 丁丁一进一出动态图| 精品成品国色天香卡一卡三| 欧美人与动牲交A免费| 无码一区二区三区| 一区二区三区AV| 吃奶呻吟打开双腿做受视频 | 人妻少妇乱子伦精品无码专区电影| 无码专区 丝袜美腿 制服师生| 永久免费不卡在线观看黄网站 | ぱらだいす天堂中文网WWW在线| 国产美女高潮视频| 免费无码不卡视频在线观看| 偷窥少妇久久久久久久久| 一区二区三区国产精华护肤品| 成人区人妻精品一区二| 精品久久久久久无码人妻蜜桃| 欧美香蕉爽爽人人爽| 性色AV无码专区亚洲AV毛片子| 中文字幕日韩人妻| 国产精品国产三级国产普通话| 噜噜噜亚洲色成人网站∨| 双飞两个丰满少妇11P| 野花高清在线观看免费3| 出轨 无码 论坛| 久久国产欧美成人网站| 日韩AV无码免费播放| 亚洲欧美另类久久久精品| 边做边爱完整版MP3在线下载| 精品高潮呻吟99AV无码| 日本丰满老妇BBB| 亚洲精品无AMM毛片| 被青梅竹马的学弟给锁定了林擎霄| 黑人又粗又大又 ╳乂| 欧洲人妻丰满AV无码久久不卡| 亚洲AV无码一区二区三区在线播| JIZZ成熟丰满韩国女人少妇| 国产亚洲精久久久久久无码| 欧美乱码伦视频免费| 亚洲AV无码乱码在线观看| YW尤物无码点击进入| 皇上御花园HLH| 人人做人碰人人添| 亚洲人成色7777在线观看| 东北老女人高潮大叫对白| 久久国产一区二区三区| 色噜噜国产精品视频一区二区 | 女女互揉吃奶揉到高潮视频| 西方37大但人文艺术A管77| 92午夜少妇极品福利无码电影| 国产丝袜无码一区二区视频 | 亚洲精品乱码久久久久久蜜桃| 被青梅竹马的学弟给锁定了林擎霄| 精品人妻中文无码AV在线| 日产精品一卡2卡三卡4乱码| 野花韩国视频免费高清3| 国产AV麻豆MAG剧集| 每个世界都被主角睡来睡去可乐饼| 无码熟熟妇丰满人妻PORN| 99久RE热视频这只有精品6| 国精产品自偷自偷综合下载| 人妻无码久久精品| 亚洲色偷偷综合亚洲AV伊人| 公交车后车座的疯狂的做小| 美丽女邻居交换5完整版| 西西人体444WWW高清大但| CHⅠNESE性旺盛老熟女| 精品爆乳一区二区三区无码AV| 日韩精品无码一区二区忘忧草| 一碰就有水的女人男人喜欢?| 国产精品免费看久久久| 欧美日韩人妻一区二区三区| 亚洲国产精品无码久久久秋霞1| 成熟交BGMBGMBGM在线| 老色鬼久久亚洲AV综合| 午夜免费无码福利视频| WWW一区二区三区在线 || 久久变态刺激另类SM按摩| 他扒开内裤把舌头进去会有影响吗| 中文字幕亚洲综合久久综合| 国产在线观看无码免费视频| 日本免费一区二区三区| 一区二区三区国产精华护肤品 | 亚洲人成网站精品片在线观看| 隔着衣服吃你的小尖尖作文| 妺妺窝人体色WWW婷婷| 亚洲AV无码专区亚洲AV桃| 大炕上的肉体交换| 免费无遮挡无码H肉动漫在线观看| 亚洲AV无码乱码国产精品久久 | 西西人体大胆WWW444| 八旬老太太BGMBGMBGM性| 久久久久亚洲AV成人片一区| 无码无遮挡又大又爽又黄的视频| А√天堂网WWW在线搜索| 久久久久99精品成人片直播| 无码人妻久久久一区二区三区免费| MM131美女大尺度私密照尤果| 久久久久久久99精品免费观看| 无人区码一码二码三码是 | 99精品久久久久久久另类| 精品久久国产综合婷婷五月| 太紧了夹得我的巴好爽欧美| AV影音先锋天堂网| 久久久久久AV无码免费网站| 无忧传媒剧国产剧情MV| 成年AV免费网址大全超清| 麻花豆传媒剧国产MV免费天美| 亚洲AV无码一区二区高潮| 高清成人爽A毛片免费| 欧美黑人又大又粗XXXⅩ| 亚洲午夜性春猛交XXXX偷窥| 国产美足白丝榨精在线观看sm| 日本免费人成视频播放试看| √天堂网WWW最新版| 精品人妻无码视频一区二区三区| 无码不卡AV东京热毛片| 变态另类AV手机版天堂| 免费女人18毛片A毛片视频| 亚洲男人第一AV天堂|