Files
luban-lite-t3e-pro/doc/topics/sdk/cir/cir_design.html
2025-01-23 16:37:00 +08:00

217 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn" data-whc_version="26.0">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="description" content="源码说明 CIR 模块的源码位于 bsp/artinchip/ bsp/artinchip/drv/cir/drv_cir.ccir driver 层接口实现 bsp/artinchip/include/drv/drv_cir.hcir driver 层接口头文件 bsp/artinchip/drv/cir/nec_decoder.cNEC 协议编解码实现 ..."/><meta name="DC.rights.owner" content="(C) 版权 2025"/><meta name="copyright" content="(C) 版权 2025"/><meta name="generator" content="DITA-OT"/><meta name="DC.type" content="concept"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.date.modified" content="2024-12-02"/><meta name="DC.format" content="HTML5"/><meta name="DC.identifier" content="cir_design_intro"/><meta name="DC.language" content="zh-CN"/><title>设计说明</title><!-- Build number 2023110923. --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content=""/><meta name="wh-source-relpath" content="topics/sdk/cir/cir_design.dita"/><meta name="wh-out-relpath" content="topics/sdk/cir/cir_design.html"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/commons.css?buildId=2023110923"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/topic.css?buildId=2023110923"/>
<script src="../../../webhelp/app/options/properties.js?buildId=20250121171154"></script>
<script src="../../../webhelp/app/localization/strings.js?buildId=2023110923"></script>
<script src="../../../webhelp/app/search/index/keywords.js?buildId=20250121171154"></script>
<script defer="defer" src="../../../webhelp/app/commons.js?buildId=2023110923"></script>
<script defer="defer" src="../../../webhelp/app/topic.js?buildId=2023110923"></script>
<link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-styles-web.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/notes.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-common.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-images.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/footnote.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-web-watermark.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/topic-body-list.css?buildId=2023110923"/></head>
<body id="cir_design_intro" class="wh_topic_page frmBody">
<a href="#wh_topic_body" class="sr-only sr-only-focusable">
跳转到主要内容
</a>
<header class="navbar navbar-default wh_header">
<div class="container-fluid">
<div class="wh_header_flex_container navbar-nav navbar-expand-md navbar-dark">
<div class="wh_logo_and_publication_title_container">
<div class="wh_logo_and_publication_title">
<a href="http://www.artinchip.com" class=" wh_logo d-none d-sm-block "><img src="../../../company-logo-white.png" alt="RTOS SDK 使用指南SDK 指南文件"/></a>
<div class=" wh_publication_title "><a href="../../../index.html"><span class="booktitle"><span class="ph mainbooktitle">RTOS SDK 使用指南</span><span class="ph booktitlealt">SDK 指南文件</span></span></a></div>
</div>
</div>
<div class="wh_top_menu_and_indexterms_link collapse navbar-collapse" id="wh_top_menu_and_indexterms_link">
</div>
</div>
</div>
</header>
<div class=" wh_search_input navbar-form wh_topic_page_search search " role="form">
<form id="searchForm" method="get" role="search" action="../../../search.html"><div><input type="search" placeholder="搜索 " class="wh_search_textfield" id="textToSearch" name="searchQuery" aria-label="搜索查询" required="required"/><button type="submit" class="wh_search_button" aria-label="搜索"><span class="search_input_text">搜索</span></button></div></form>
</div>
<div class="container-fluid" id="wh_topic_container">
<div class="row">
<nav class="wh_tools d-print-none navbar-expand-md" aria-label="Tools">
<div data-tooltip-position="bottom" class=" wh_breadcrumb "></div>
<div class="wh_right_tools">
<button class="wh_hide_highlight" aria-label="切换搜索突出显示" title="切换搜索突出显示"></button>
<button class="webhelp_expand_collapse_sections" data-next-state="collapsed" aria-label="折叠截面" title="折叠截面"></button>
<div class=" wh_print_link print d-none d-md-inline-block "><button onClick="window.print()" title="打印此页" aria-label="打印此页"></button></div>
</div>
</nav>
</div>
<div class="wh_content_area">
<div class="row">
<div class="col-lg-10 col-md-10 col-sm-10 col-xs-12" id="wh_topic_body">
<button id="wh_close_topic_toc_button" class="close-toc-button d-none" aria-label="Toggle topic table of content" aria-controls="wh_topic_toc" aria-expanded="true">
<span class="close-toc-icon-container">
<span class="close-toc-icon"></span>
</span>
</button>
<div class=" wh_topic_content body "><main role="main"><article class="- topic/topic concept/concept topic concept" role="article" aria-labelledby="ariaid-title1"><span class="edit-link" style="font-size:12px; opacity:0.6; text-align:right; vertical-align:middle"><a target="_blank" href="http://172.16.35.88/tasks/jdssno1uvvbf2mltu9kb9v3if05d5gopuakboe8hlud18rma/edit/F:/aicdita/aicdita-cn/topics/sdk/cir/cir_design.dita">Edit online</a></span><h1 class="- topic/title title topictitle1" id="ariaid-title1">设计说明</h1><div class="date inPage">2 Dec 2024</div><div style="color: gray;">
Read time: 1 minute(s)
</div><div class="- topic/body concept/conbody body conbody"><section class="- topic/section section" id="cir_design_intro__section_cjj_4mn_4dc" data-ofbid="cir_design_intro__section_cjj_4mn_4dc"><h2 class="- topic/title title sectiontitle">源码说明</h2>
<div class="- topic/p p" data-ofbid="d112176e27__20250121171554">CIR 模块的源码位于<span class="+ topic/ph sw-d/filepath ph filepath">bsp/artinchip/</span><ul class="- topic/ul ul" id="cir_design_intro__ul_uth_b5k_g1c" data-ofbid="cir_design_intro__ul_uth_b5k_g1c"><li class="- topic/li li" data-ofbid="d112176e32__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e34__20250121171554">bsp/artinchip/drv/cir/drv_cir.ccir driver 层接口实现</p>
</li><li class="- topic/li li" data-ofbid="d112176e37__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e39__20250121171554">bsp/artinchip/include/drv/drv_cir.hcir driver 层接口头文件</p>
</li><li class="- topic/li li" data-ofbid="d112176e42__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e44__20250121171554">bsp/artinchip/drv/cir/nec_decoder.cNEC 协议编解码实现</p>
</li><li class="- topic/li li" data-ofbid="d112176e47__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e49__20250121171554">bsp/artinchip/drv/cir/rc5_decoder.cRC5 协议编解码实现</p>
</li><li class="- topic/li li" data-ofbid="d112176e52__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e54__20250121171554">bsp/artinchip/drv/cir/ir_raw.c编解码调用及注册接口实现</p>
</li><li class="- topic/li li" data-ofbid="d112176e57__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e59__20250121171554">bsp/artinchip/drv/cir/ir_raw.h编解码调用及注册接口头文件</p>
</li><li class="- topic/li li" data-ofbid="d112176e62__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e64__20250121171554">bsp/artinchip/hal/cir/hal_cir.ccir hal 层接口实现</p>
</li><li class="- topic/li li" data-ofbid="d112176e67__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e69__20250121171554">bsp/artinchip/include/hal/hal_cir.hcir hal 层接口头文件及寄存器定义</p>
</li></ul></div>
</section><section class="- topic/section section" id="cir_design_intro__section_t52_pmn_4dc" data-ofbid="cir_design_intro__section_t52_pmn_4dc"><h2 class="- topic/title title sectiontitle">模块架构</h2>
<p class="- topic/p p" data-ofbid="d112176e78__20250121171554">linux 内核中 rc 的基本框架如下图所示:</p>
<div class="- topic/p p" data-ofbid="d112176e81__20250121171554">
<br/><div class="imagecenter"><img class="- topic/image image imagecenter" id="cir_design_intro__image_d4h_d5k_g1c" src="../../../images/cir/rc_arch_lite.png" width="384" alt="rc_arch"/></div><br/>
</div>
<p class="- topic/p p" data-ofbid="d112176e88__20250121171554">红外信号的编码和解码工作由<span class="- topic/ph ph">CIR
协议</span>负责完成。在完成编码后应用层需要发送的信号被编码为一系列的带有宽度的高低电平pulse/spaceCIR driver
在发送端就是需要将这一系列的 pulse/space 写入发送 FIFO发送出去。在接收红外信号时CIR driver 需要将接收到的一系列高低电平送入到<span class="- topic/ph ph">CIR 协议</span>进行解码,最终将解码得到的
scancode到输入子系统最终送给 app 程序完成红外信号的接收。所以CIR
驱动的主要任务有:</p>
<ol class="- topic/ol ol" id="cir_design_intro__ol_ugz_2fn_d1c" data-ofbid="cir_design_intro__ol_ugz_2fn_d1c"><li class="- topic/li li" data-ofbid="d112176e98__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e100__20250121171554">将编码得到的高低电平信号以游码的形式写入 TX-FIFO发送红外信号</p>
</li><li class="- topic/li li" data-ofbid="d112176e103__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e105__20250121171554">将 CIR 模块接收的 RX-FIFO 中的游码正确表示为高低电平的形式,相邻的高电平或低电平需要进行合并。</p>
</li><li class="- topic/li li" data-ofbid="d112176e108__20250121171554">
<p class="- topic/p p" data-ofbid="d112176e110__20250121171554">根据用户空间传递的红外参数,对 CIR 的底层寄存器进行配置,如配置载波频率,配置占空比等</p>
</li></ol>
<p class="- topic/p p" data-ofbid="d112176e115__20250121171554">由于红外信号的数据量都很少,所以在红外信号的发送端,一般是利用循环将所有的数据一次性全部发送出去,而不会采用中断或 DMA
的方式。在红外信号的接收端一般是采用中断的方式进行数据的接收在接收完成后调用相应的解码函数进行解码。CIR
模块可以支持任何的红外协议,对不同红外协议的支持可以通过对载波配置寄存器的设置来实现。<span class="- topic/ph ph">Luban-Lite
中目前提供了 NEC 和 RC5 协议的编解码,</span>CIR 驱动中默认配置的是支持 NEC 协议。</p>
</section></div></article></main></div>
</div>
<nav role="navigation" id="wh_topic_toc" aria-label="On this page" class="col-lg-2 d-none d-lg-block navbar d-print-none">
<div id="wh_topic_toc_content">
<div class=" wh_topic_toc "><div class="wh_topic_label">在本页上</div><ul><li class="section-item"><div class="section-title"><a href="#cir_design_intro__section_cjj_4mn_4dc" data-tocid="cir_design_intro__section_cjj_4mn_4dc">源码说明</a></div></li><li class="section-item"><div class="section-title"><a href="#cir_design_intro__section_t52_pmn_4dc" data-tocid="cir_design_intro__section_t52_pmn_4dc">模块架构</a></div></li></ul></div>
</div>
</nav>
</div>
</div>
</div>
<footer class="navbar navbar-default wh_footer">
<div class=" footer-container mx-auto ">
<title>footer def</title>
<style><!--
.p1 {
font-family: FangZhengShuSong, Times, serif;
}
.p2 {
font-family: Arial, Helvetica, sans-serif;
}
.p3 {
font-family: "Lucida Console", "Courier New", monospace;
}
--></style>
<div class="webhelp.fragment.footer">
<p class="p1">Copyright © 2019-2024 广东匠芯创科技有限公司. All rights reserved.</p>
</div><div>
<div class="generation_time">
Update Time: 2025-01-21
</div>
</div>
</div>
</footer>
<div id="go2top" class="d-print-none">
<span class="oxy-icon oxy-icon-up"></span>
</div>
<div id="modal_img_large" class="modal">
<span class="close oxy-icon oxy-icon-remove"></span>
<div id="modal_img_container"></div>
<div id="caption"></div>
</div>
<script src="${pd}/publishing/publishing-styles-AIC-template/js/custom.js" defer="defer"></script>
</body>
</html>