文章目录

  • 一、什么是Super IO
  • 二、Super IO的作用
    • 常见厂商
  • 三、逻辑设备控制
    • 如何访问SIO逻辑设备的配置寄存器
    • 具体配置数值
  • 四、硬件监控(hardware monitor)


一、什么是Super IO

Super Input/Output超级输入输出控制器。
通过LPC(low pin count)总线与南桥进行通信。
LPC:基于intel标准的33MHz 4bit并行总线协议,代替以前的ISA总线协议。用于串口、并口、键盘/鼠标、软盘驱动器等低速设备的连接。

本身是个单片机,可以独立控制输入输出设备。

二、Super IO的作用

负责提供串行、并行、软盘驱动器和键盘鼠标(不是USB型)等的控制接口。
因为南桥这样的较高速设备和串行、并行接口以及键盘鼠标等大量低速设备之间必定存在资源的不匹配,而需要经过转换和管理,而SIO则完成了这个功能。
SIO芯片在板子上比较偏的位置,毕竟高速的基本都挨CHIP芯片组比较近。
(在intel平台上,LPC总线有一个PCI地址,BUS0,Device:31,Function:0。)

SIO牵出来很多logical device逻辑设备,例如(不是每个SIO都有这些):
FDC软盘控制器,UART串口,鼠标/键盘,GPIO,HWM硬件监控,CIR红外接口,ACPI电源管理。

常见厂商

Fintek精拓
ITE联阳
Winbond华邦
Nuvoton新唐
SMSC史恩希

三、逻辑设备控制

Logical Device:逻辑设备,SIO内部的非真实存在的设备。
Global control register(offset 0h~2Fh):逻辑设备的全局控制寄存器,在SIO内部,可以通过某种方式访问到这个寄存器。这是通用的。
Every logical device config register:每个逻辑设备的寄存器。
logical device number:每个逻辑设备的编号。
LDN select register(0x07):选择寄存器,比如在0x07这里写1,every logical device config register就会是1号的设备配置寄存器。
如下图:
(0x07这里是这一字节写逻辑设备编号,填上之后,就会选中到对应的配置空间)
在这里插入图片描述

0x30-0x3F是逻辑设备的控制,主要是控制开关。
0x40-0xFE是逻辑设备的配置,分配资源和进行管理。

如何访问SIO逻辑设备的配置寄存器

1.进入配置模式;
2.选中逻辑设备;
3.激活;
4.配置逻辑设备的控制寄存器和配置寄存器;
5.退出配置模式。

不同平台设计不一样,要看SIO芯片规范。
拿比较常见的一种举例(index:2E,data:2F):
怎么进入extended function mode:成功写两次0x87到2E IO porting口。
怎么退出extended function mode:成功写一次0xAA到2E IO porting口。

选中逻辑设备:写0x07到2E IO porting口(指向逻辑设备的number寄存器),再把设备号写到2F(下图选的是1号设备)。
配置:写要配置的寄存器到2E(下图是写F0),再把数据写到2F(下图是写3C)。
退出:写0x2E到AA IO porting口。

完成了写1号设备的F0寄存器为2F

汇编代码(用C语言效率更改,厂商都会提供封装好的函数供使用,直接用对应函数填内容就行):

在这里插入图片描述

具体配置数值

0x30: bit0置为1,即为激活设备,设成0即为不工作。
0x60-63:IO base address。(比如0x60到0x63为:00 60 00 64代表这个设备使用的io资源是0x060和0x064)
0x70:bit0-3 IRQ,代表使用的中断。
F0:clock频率,port92,gate A20,功能的一些开关和配置,详情见规范。

四、硬件监控(hardware monitor)

温度、风扇转速/风扇控制、电压。
如果温度超过多少、电压超过多少,会采取措施,具体请参考SIO的规范手册,在page几、多少位都会有详细说明。

比如新唐某SIO的硬件monitor:01 page的index 40H,它的bit7代表开关。
风扇配置:01 page的C0-C7H。
风扇转速:01 page的C8-CFH。

再说SIO的硬件monitor的base address,page是根据不同的硬件手册规定的,新唐某SIO的就是0B,而offset(CR)偏移地址是之前我们提到的具体配置数值的0x60 0x61那里,范围在100-FF8H且没有被使用过,都可以填写。

比如显示0X60和0X61显示:0A00,那么这就是硬件monitor的base address。
用RU工具输入访问命令:
往0A00写FF,往0A00写01。
(o a00 ff
o a00 01)

就会port口变成A01,A02(之前是4E,4F)。

然后就可以看到配置空间,具体对应信息可以参考硬件手册。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92861.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92861.shtml
英文地址,请注明出处:http://en.pswp.cn/web/92861.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

飞算 JavaAI 2.0.0 测评:自然语言编程如何颠覆传统开发?

一、前言 在AI技术高速发展的今天,编程方式正在经历一场革命。传统的“手写代码”模式逐渐被AI辅助开发取代,而飞算JavaAI 2.0.0的推出,更是让自然语言编程成为现实。 作为一名长期使用Java开发的程序员,我决定深度体验飞算Java…

Dubbo + zk 微服务

一、安装zk注册中心 win版本:windows环境下安装zookeeper教程详解(单机版)-CSDN博客 linux版本: 二、服务提供方搭建 引入dubbo和zk依赖 提供接口 使用注解方式实现接口级注册到zk,而springcloud是将服务注册到注册…

聆思duomotai_ap sdk适配dooiRobot

一、说明 1、duomotai_ap介绍 duomotai_ap是一个针对多模态开发板(如 CSK6-MIX 开发板)的大模型 AI 开发套件 SDK,主要用于开发语音、视觉等多模态 AI 应用。 2、dooiRobot介绍 基于Doly 机器人的经典外观设计,采用聆思CSK6011A…

Photoshop软件打开WebP文件格的操作教程

Photoshop软件打开WebP文件格的操作教程,好吧,这是英文原版: Photoshop 23.2 原生支持 WebP 格式,无需插件即可打开、编辑和保存 WebP 文件。用户可通过“文件 > 另存为副本”选择 WebP 格式,调整无损/有损压缩及质…

【数据结构】——顺序表链表(超详细解析!!!)

目录一. 前言二. 顺序表1. 顺序表的特点2. 代码实现三. 链表1. 单向链表代码实现2.双向链表代码实现四. 顺序表与链表的区别总结一. 前言 顺序表和链表是最基础的两种线性表实现方式。它们各有特点,适用于不同的应用场景。本文将详细介绍这两种数据结构的实现原理、…

GitHub的简单使用方法----(4)

在安装完git之后,桌面右键会出现两个git的选项第一个gui打开是这样的用户界面分别是新建仓库,克隆仓库,打开已经存在的仓库。tips:Git Gui 默认只能操作本地仓库——它本质上是一个图形化的“本地 Git 客户端”。 它本身不内置“下载远程仓库…

蓝桥杯----大模板

在写大模板之前,先讲一个函System_Init(),用于系统初始化关闭所有LED与外设,关闭所有LED就是传入0xff数据打开锁存器,关闭外设就是传入0x00打开锁存器。现在所有底层已经提供给大家了,先提供最简单版本的大模板&#x…

科技写作改革我见:取消参考文献,以点读率取代引证率!

科技写作改革我见:综述应取消参考文献,学术成就评估以点读下载率取代参考文献引证率!李升伟 张君飞 韩若兰引言在当今信息爆炸的时代,科技写作作为知识传播的核心载体,其形式与评价体系正面临前所未有的挑战。传统…

【Altium designer】快速建立原理图工程的步骤

快速建立原理图工程的步骤产品规格书分析 整理产品需求,明确主控芯片、外围接口类型、总线频率、电源需求及隔离要求、PCB尺寸等关键信息。使用文本清单列出所有需求,确保无遗漏。硬件需求架构图绘制 根据需求说明书和收集的信息,使用VISIO绘…

Origin2025b安装包免费,附Origin 2025安装教程

老规矩先放链接:origin2025b安装包 有位小粉丝问我有没有Origin2025b的安装包,有的兄弟有的,只有你想不到,没有小兔找不到的软件。 这个origin是OriginLab公司开发的一个科学绘图、数据分析的软件,Origin支持各种各样…

【C++语法】输出的设置 iomanip 与 std::ios 中的流操纵符

文章目录【C语法】输出的设置 iomanip 与 std::ios 中的流操纵符1. iomanip 中的流操纵方法1.1 位宽操作类1.1.1 std::setw(x)1.1.2 std::setfill(c)1.1.3 std::left1.1.4 std::right1.1.5 std::internal1.2 小数操作类1.2.1 std::fixed1.2.2 std::setprecision(x)1.2.3 std::s…

go语言学习笔记-Map

map 是一种无序的基于 key-value 的数据结构,Go 语言中的 map 是引用类型,必须初始化 才能使用。 Go 语言中 map 的定义语法如下map[KeyType]ValueType常见两种创建方法1 使用map初始化var scoreMap make(map[string]int, 8) scoreMap["陈翔"…

芯片安全标准驱动库,筑牢芯片功能安全基石

随着整车控制器功能日益复杂,为满足越发严格的功能安全认证要求,项目开发人员需要采取相应的安全措施对系统中电子元器件的单点故障(Singel Point Fault)和潜在故障(Latent Fault)进行检测和管理&#xff0…

rn相关ScrollView

一:ScrollView的style和contentContainerStyle二:flex:1,和flexGrow:1用处内容将纵向空间占满

Spark Core 3.3.2 略讲~

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:大数据、Java、测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/…

智能家居Agent:物联网设备的统一控制与管理

智能家居Agent:物联网设备的统一控制与管理 🌟 Hello,我是摘星! 🌈 在彩虹般绚烂的技术栈中,我是那个永不停歇的色彩收集者。 🦋 每一个优化都是我培育的花朵,每一个特性都是我放飞的…

汉高携手SAP推出AI驱动的退换货与争议管理解决方案

2025年8月12日,SAP宣布与全球知名的胶黏剂、密封剂及消费品制造商汉高(Henkel AG & Co. KGaA)联合开发了一套基于SAP AI Services的定制化解决方案,用于优化退换货及争议管理流程。该方案旨在通过人工智能自动化索赔相关文件的…

[SC]SystemC中的SC_FORK和SC_JOIN用法详细介绍

SystemC中的SC_FORK和SC_JOIN用法详细介绍 摘要:SystemC是一个开源的C++库(由Accellera和IEEE标准化,IEEE 1666-2011),用于系统级建模、硬件描述和仿真。它扩展了C++以支持硬件概念,如模块(sc_module)、端口(sc_port)、信号(sc_signal)和进程(SC_METHOD、S…

工作流调度(草稿)

串行回复当我加上第三条分支,此时的输出就很混乱了,按理来说最后输出的第二波输出反而先结束了,调用LLM结果的第一波输出最后才输出,这是为什么?当我把LLM节点改为一个不耗时的节点的时候:初步猜测&#xf…

AI不再停留在概念阶段,而是在各行业核心业务场景产生实际价值。随着大模型、边缘计算等技术的突破,AI应用将向实时化、自主化、普惠化方向深度演进。

一、金融领域:智能风控与欺诈检测案例:某银行使用AI实时拦截信用卡欺诈交易,每年减少损失$2400万python# 使用XGBoost构建欺诈检测模型(Python) import pandas as pd from xgboost import XGBClassifier from sklearn.…