ICH E2B | ICSR 电子传输网关对接解决方案(CDE EDI)

为遵循国家食品药品监管政策,确保临床试验期间药物安全性监测,本通知规定了药物临床试验期间安全性数据快速报告的标准和程序。申请人需通过特定方式提交符合ICH E2B(R3)规范的个例安全性报告,以便及时分析评估,必要时调整试验方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为落实原国家食品药品监督管理总局《关于适用国际人用药品注册技术协调会二级指导原则的公告》(2018年第10号)的要求,组织制定了《药物临床试验期间安全性数据快速报告标准和程序》,现予以发布。2018年5月1日后开始实施的临床试验,按照本标准和程序执行。

该标准要求申请人通过Gateway to Gateway(网关对网关)方式或在申请人之窗,向国家药品审评机构提交符合ICH
E2B(R3)规范的药物临床试验期间个例安全性报告,并对其进行分析评估,必要时按相关标准提出修改试验方案、暂停或终止药物临床试验等意见。以实现在药品的整个生命周期内、临床试验研究期间以及持续进行的安全性监测。

Gateway toGateway(网关对网关)方式,采用AS2(HTTPS)传输协议,发送方发送个例安全性报告给药品审评中心,药品审评中心​收到后,对个例安全性报告进行处理,根据处理结果向发送方返回电子回执(ACK)。[1]

Gateway 方式提交步骤

提交测试(正式)ICSR报告

  • 企业填写右侧《ICSR电子传输账号申请表》,用于注册个例安全性报告的电子传输测试账号;
  • 完善电子传输参数,如URL、数字证书、ID等;
  • 向药品评审中心发送一份测试(正式)的ICSR报告;
  • 若收到药品评审中心确认测试报告有效的电子回执后,即表明成功建立测试(正式)传输ICSR的数据连接。

接收&校验ICSR报告

  • 药品评审中心收到企业发送的ICSR后,进行校验,以确定是否满足E2B(R3)

药品评审中心返回电子回执

  • 24小时内,药品评审中心回返回电子回执,告知企业ICSR提交情况(接受/拒绝)。

在这里插入图片描述

Gateway to Gateway解决方案

在这里插入图片描述

AS2(HTTPS)电子传输连接

配置药企Gateway AS2(HTTPS)信息
在这里插入图片描述
配置CDE Gateway AS2(HTTPS)信息
在这里插入图片描述

API方式集成药物警戒系统

关于PV系统与EDI系统的无缝集成,可以调用以下API:

在这里插入图片描述
注:API详细信息可参考RSSBus Connect EDI系统API文档。
如需了解更多,请看下方。

在这里插入图片描述

[1]关于发布《药物临床试验期间安全性数据快速报告的标准和程序》的通知

<think>首先,用户的问题是:“我想了解STM32中SCB ICSR寄存器的功能和作用 请问STM32 SCB ICSR register function and usage”。这是一个于STM32微控制器的特定寄存器的问题。 根据系统级指令: - 所有行内数学表达式必须使用$...$格式。 - 独立公式必须使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相问题。 - 回答中引用的段落末尾自然地添加引用标识,例如[^1]。 - 回答结构清晰,帮助用户逐步解决问题,尽量保证回答真实可靠。 用户提供的引用包括: - 引用[1]:于SCB结构体、SHP和IP寄存器,以及中断号小于0的中断。 - 引用[2]:于智能手环设计,与问题无。 - 引用[3]:于STM32中断管理,包括SCB->AIRCR寄存器和中断优先级分组。 用户的问题直接涉及SCB ICSR寄存器,所以我需要专注于这个主题。引用[1]和[3]与SCB相,但具体到ICSR寄存器,我需要回想或基于知识回答。 从我的知识库: - SCB是System Control Block的一部分,在Cortex-M系列处理器中。 - ICSR是Interrupt Control and State Register(中断控制和状态寄存器),在SCB中。 - ICSR的功能包括: - 提供中断状态信息,如当前中断号、挂起中断等。 - 控制中断,如设置挂起位、清除挂起位。 - 用于调试和系统控制。 具体到STM32ICSR寄存器是ARM Cortex-M核心的一部分,STM32基于此核心。 引用[1]提到了中断号小于0的中断(如SysTick、PendSV),这些是系统异常,ICSR寄存器可能用于管理这些。 引用[3]讨论了SCB->AIRCR用于中断分组,但没有直接提到ICSR。 所以,我需要构建一个清晰、结构化的回答。 回答结构: 1. **介绍SCB和ICSR**:简要解释SCB是什么,以及ICSR在其中的作用。 2. **详细功能**:列出ICSR寄存器的具体功能和作用。 3. **位域描述**:描述ICSR寄存器的各个位域,解释每个位的作用。 4. **使用示例**:如果可能,给出简单的使用场景或代码片段。 5. **引用相部分**:在末尾添加引用标识,基于提供的引用。 6. **生成相问题**:在最后添加相问题部分。 使用中文回答。 生成相问题:基于主题,提出几个相问题。 现在,具体内容: - SCB (System Control Block):是Cortex-M核心的系统控制块,包含多个寄存器用于系统管理。 - ICSR (Interrupt Control and State Register):地址通常在0xE000ED04。 - 功能: - VECTACTIVE:当前活动的中断或异常号。 - RETTOBASE:指示是否有更高优先级的中断等待。 - VECTPENDING:挂起的中断号。 - ISRPENDING:是否有中断挂起。 - PENDSTSET、PENDSTCLR:SysTick异常挂起设置和清除。 - PENDSVSET、PENDSVCLR:PendSV异常挂起设置和清除。 - NMIPENDSET:NMI挂起设置。 - 作用:用于调试、中断管理和系统状态监控。 在回答中,自然地引用提供的引用。例如,引用[1]提到了中断号,所以可以联系到VECTACTIVE或VECTPENDING。 代码片段:如果适用,可以给出寄存器定义的C代码或访问示例。 最后,相问题: 1. ICSR寄存器如何用于调试? 2. 在STM32中如何配置中断优先级? 3. SCB中的其他重要寄存器有哪些? 确保LaTeX格式:如果有数学表达式,但这里可能不需要,除非有优先级计算等。 回答草稿: - 开头:解释SCB ICSR寄存器。 - 主体:分点描述功能。 - 结尾:总结作用。 - 添加引用:例如,基于引用[1]和[3]。 - 相问题:列出3个左右。</think>### STM32中SCB ICSR寄存器的功能和作用 在STM32微控制器中,SCB(System Control Block,系统控制块)是ARM Cortex-M核心的一部分,用于管理系统级功能和中断控制。其中,ICSR(Interrupt Control and State Register,中断控制和状态寄存器)是SCB中的一个键寄存器,地址通常为$0xE000ED04$。它主要用于监控和控制处理器的中断和异常状态,尤其在调试、实时系统管理和中断处理中发挥核心作用。下面我将逐步解释其功能、作用和使用方法,确保内容清晰可靠。 #### 1. **ICSR寄存器的基本功能** ICSR寄存器是一个32位寄存器,其位域直接反映了处理器的中断和异常状态。主要功能包括: - **中断状态监控**:提供当前活动中断或异常的编号(如SysTick、PendSV等),帮助开发者实时诊断系统行为。 - **中断挂起控制**:允许软件设置或清除特定异常的挂起状态(例如,手动触发PendSV或SysTick异常),这在任务调度和实时操作系统中很常见。 - **调试支持**:在调试模式下,ICSR能指示中断是否被挂起或活动,辅助开发者定位问题。 这些功能使ICSR成为STM32中断系统的“状态看板”,尤其在处理系统异常(如引用[1]中提到的中断号小于0的异常,包括SysTick_IRQn = -1、PendSV_IRQn = -2等)时至重要[^1]。 #### 2. **ICSR寄存器的详细位域描述** ICSR寄存器的位域结构基于ARM Cortex-M架构定义,以下是键位域及其作用(以Cortex-M4为例): | 位域名称 | 位范围 | 描述 | 作用示例 | |----------------|--------|----------------------------------------------------------------------|----------| | VECTACTIVE | [8:0] | 当前活动的中断或异常编号(IRQn)。例如,$ \text{SysTick} = -1 $ 对应值0xFF。 | 读取此值可确定正在执行的中断,如系统节拍中断[^1]。 | | RETTOBASE | [11] | 指示当前是否没有更高优先级中断挂起(1表示无挂起)。 | 用于优化中断嵌套处理。 | | VECTPENDING | [20:12]| 挂起的中断或异常编号(如果有)。 | 检测下一个将执行的中断。 | | ISRPENDING | [22] | 表示是否有任何中断挂起(1表示有)。 | 快速检查系统中断负载。 | | PENDSVSET | [28] | 设置PendSV异常的挂起状态(写1触发挂起)。 | 在RTOS中用于上下文切换。 | | PENDSVCLR | [27] | 清除PendSV异常的挂起状态(写1清除)。 | 避免重复触发。 | | PENDSTSET | [26] | 设置SysTick异常的挂起状态(写1触发)。 | 手动启动系统节拍中断。 | | PENDSTCLR | [25] | 清除SysTick异常的挂起状态(写1清除)。 | 清理挂起状态。 | | NMIPENDSET | [31] | 设置NMI(不可屏蔽中断)的挂起状态(只写,需谨慎使用)。 | 用于紧急事件处理。 | 这些位域的组合使ICSR能高效管理中断生命周期。例如,在STM32中断优先级分组(如引用[3]中提到的SCB->AIRCR配置)中,ICSR的VECTACTIVE位可与优先级寄存器协同工作,确保高优先级中断优先执行[^3]。 #### 3. **ICSR寄存器的实际作用** - **中断管理和调试**:通过读取VECTACTIVE或VECTPENDING,开发者可以跟踪中断执行顺序,诊断死锁或优先级反转问题。 - **系统控制**:在实时操作系统(如FreeRTOS)中,PendSV异常常用于低优先级任务切换。通过写PENDSVSET位,软件可触发上下文切换,而不影响高优先级中断。 - **低功耗支持**:在睡眠模式下,ICSR的挂起位唤醒处理器,优化能耗。 - **错误处理**:结合异常处理程序,ICSR帮助识别错误源(如UsageFault)。 作用总结:ICSR是STM32中断系统的核心枢纽,它桥接了硬件中断和软件控制,提升了系统的实时性和可靠性。 #### 4. **使用示例:访问ICSR寄存器** 在STM32开发中,可通过C语言直接访问ICSR寄存器。以下是一个简单代码片段,演示如何读取当前活动中断和设置PendSV挂起: ```c #include "stm32f4xx.h" // 包含STM32头文件 int main(void) { // 读取ICSR寄存器的VECTACTIVE字段 uint32_t icsr_value = SCB->ICSR; uint32_t active_irq = icsr_value & 0x1FF; // 提取VECTACTIVE (位[8:0]) printf("当前活动中断号: %ld\n", active_irq); // 输出类似-1(SysTick)或-2(PendSV) // 手动触发PendSV异常(用于任务切换) SCB->ICSR |= SCB_ICSR_PENDSVSET_Msk; // 设置PENDSVSET位 // 清除SysTick挂起状态 SCB->ICSR |= SCB_ICSR_PENDSTCLR_Msk; while(1) { // 主循环 } } ``` - **注意事项**:操作ICSR时需确保中断已配置(通过NVIC和SCB->AIRCR),避免冲突。例如,引用[3]强调中断优先级分组由SCB->AIRCR定义,影响中断响应逻辑[^3]。 #### 5. **常见应用场景** - **RTOS任务调度**:利用PendSV实现平滑上下文切换。 - **调试工具集成**:在IDE(如Keil MDK)中,ICSR值用于显示中断堆栈。 - **安全监控**:检测非法中断,增强系统鲁棒性。 总之,SCB ICSR寄存器是STM32中断机制的基石,通过状态监控和控制功能,显著提升系统响应速度和可维护性。开发时,建议结合STM32参考手册和调试器实践,以充分利用其能力[^1][^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知行EDI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值