www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 醫(yī)療電子 > 醫(yī)療電子
[導讀]介紹本文重點介紹利用微軟® .NET微架構來設計家用醫(yī)療器械,并介紹如何按照客戶需求設計終端產品的觀感。這可以通過設計吸引人的圖形接口,集成各種通信接口(串口、I2C、SPI、以太網、USB、WiFi等)以及利用i.M

介紹

本文重點介紹利用微軟® .NET微架構來設計家用醫(yī)療器械,并介紹如何按照客戶需求設計終端產品的觀感。這可以通過設計吸引人的圖形接口,集成各種通信接口(串口、I2C、SPI、以太網、USB、WiFi等)以及利用i.MX微處理器的優(yōu)異性能來實現(xiàn)。其結果可能是一個高端的監(jiān)測解決方案,例如血糖計,或其他一些滿足特定客戶需求的健康及安全設備。這些應用在價格、功能、易用性、外觀及感受上有著顯著區(qū)別。

在慢性疾病例如糖尿病影響年輕人的同時,醫(yī)生也在讓患者協(xié)作進行數(shù)據(jù)采集(疾病監(jiān)測)以更好控制疾病方面面臨更大挑戰(zhàn)。例如,青少年糖尿病患者往往會關閉用以監(jiān)測血糖的葡萄糖監(jiān)測系統(tǒng)的警報器,這可能導致長時間的血糖控制被中斷(見表1)。然而,集成多媒體功能的監(jiān)測系統(tǒng)可能會讓患者易于接受且更好地使用該儀器,包括對警報的回應。

表1:來自美國糖尿病學會(ADA)美國臨床內分泌醫(yī)師協(xié)會
     (ACCE)及國際糖尿病聯(lián)盟(IDF)的血糖控制目標

個人醫(yī)療設備除用于慢性病外也可以用于通常的健康和健身應用。集成先進軟件和硬件的高智能設計是成功創(chuàng)造未來健康及安全應用的關鍵。這些應用將供數(shù)百萬計的人使用。本文介紹一種通過.NET微架構以及i.MX微處理器系列來開發(fā)小型低成本解決方案的方法。

表2:葡萄糖監(jiān)測系統(tǒng)(CGMS)監(jiān)測的血糖過高,過低及正常的幾種狀態(tài)
     (CGMS對17位I型糖尿病的孩子和青少年的監(jiān)測)

i.MX應用處理器和.NET微架構

飛思卡爾的i.MX系列應用處理器是基于ARM®內核技術并針對多媒體應用進行了優(yōu)化設計。.NET微架構可以移植到這些處理器中,以應用這些軟件所帶的各種功能。

.NET微架構是微軟提供的.NET架構中最緊湊的系統(tǒng)架構,且可以配置到最小的內存空間(64KB內存,256KB閃存)。這個架構為嵌入式設備優(yōu)化設計,充分提供了最常用的嵌入式開發(fā)任務,同時裁減了一些.NET完整架構中不必要的任務。它使得開發(fā)人員可以使用通信接口(以太網、WiFi、USB、串口、SPI、I2C)、LCD(直接在顯示器上顯示或通過視頻元件)、觸摸屏和存儲器(閃存、內存、SD/MMC記憶卡)。由于其結構限制,.NET微架構限于運行一個應用,但它可以支持多任務運行。.NET架構的庫具有最常用的對象和功能,使用它們需要從微軟獲得授權許可證。

飛思卡爾提供的i.MXS應用 處理器可以用于.NET微架構的應用。處理器的特點有:

• ARM920T®內核,主頻100MHz

• 彩色LCD控制器

• 直接內存訪問控制器DMAC

• 外設接口EIM

• SDRAM控制器

• 多種外設接口(SPI,USB和UART)

• 低功耗模式讓系統(tǒng)在降低成本和功耗預算的同時還可以獲得額外性能

移植.NET微架構可以讓用戶使用微軟的Visual C#來開發(fā)嵌入式應用,使高端編程人員在開發(fā)嵌入式應用時獲得優(yōu)勢。

采用.NET微架構來開發(fā)i.MXS嵌入式健康與安全應用的工具包包括:

• 微軟Visual Studio 2008

• 微軟Visual C#

• .NET微架構

• USB數(shù)據(jù)線

• i.MXS開發(fā)板

要獲得關于.NET微架構更多的信息,請訪問www.microsoft.com/netmf.

設計技巧及考慮因素

下面是在設計圖形用戶界面(GUIs)和數(shù)據(jù)監(jiān)測功能時的一些技巧和考慮因素。具有C#編程經驗的開發(fā)者能夠為特殊的健康和安全嵌入式應用需求來配置硬件。

通用輸入輸出(GPIO)

幾乎所有的健康和安全設備都使用GPIO來配置LED燈(用來顯示一些特定的設備狀態(tài))、特殊的按鍵(復位、測試模式及校準)以及信號(用以檢測準確的傳感器讀操作的額外中斷)。根據(jù)不同的應用需求,.NET微架構可以通過3種方法來配置GPIO:

1.作為輸入引腳

InputPort inputPin = new InputPort(Pins.GPIO_PORT_C_5, true, Port.ResistorMode.PullUp);

if (inputPin.Read()) runInputAction();

2.作為中斷引腳

InterruptPort interruptPin = new

InterruptPort(Pins.GPIO_PORT_C_6, true, Port.

ResistorMode.PullUp, Port.InterruptMode.

InterruptEdgeHigh);

interruptPin.OnInterrupt += new GPIOInterruptEvent

Handler(inputPinInterrupt_onInterrupt);

3.作為輸出引腳

OutputPort outputPin = new OutputPort(Pins.GPIO_

PORT_C_7, true);

outputPin.Write(true);

配置線程如下:

Thread t1 = new Thread(new ThreadStart(thread1));

t1.Priority = ThreadPriority.Highest;

t1.Start();

在存儲器中保存數(shù)據(jù)

嵌入式開發(fā)中另外一個常用的任務是將數(shù)據(jù)保存在閃存中。數(shù)據(jù)會被保存在諸如血壓計、血糖計等多種不同種類的醫(yī)療設備中。利用.NET微架構把數(shù)據(jù)存儲到閃存中,需要以下幾步:

1.建立序列類(serializable class)

[Serializable]

public class Device

{

private String name;

private byte value;

public String Name

{

set { name = value; }

get { return name; }

}

public byte Value

{

set { value = value; }

get { return value; }

}

public Device(byte Value, String Name)

{

value = Value; name = Name;

}

}

2.建立序列類日志

[Serializable]

class DeviceLog

{

private ArrayList log = new ArrayList();

public ArrayList Log

{

get { return log; }

}

public void AddToLog(Device device)

{

log.Insert(0, device);

}

public void RemoveFromLog(Device device)

{

log.Remove(device);

}

public void ClearLog()

{

log.Clear();

}

}

3.建立并使用閃存參考

ExtendedWeakReference flashReference;

uint id = 0;

public Object load()

{

flashReference = ExtendedWeakReference.

RecoverOrCreate(

typeof(Program), //

marker class

id,

// id number in the marker class

ExtendedWeakReference.c_

SurvivePowerdown);// flags

flashReference.Priority = (Int32)

ExtendedWeakReference.PriorityLevel.Important;

Object data = flashReference.Target; //

recovering data

return data;

}

public void save(Object data)

{

flashReference.Target = data;

}

圖形用戶接口GUI

.NET微架構還可以幫助程序員開發(fā)更具吸引力的界面,從而可以為終端客戶提供與眾不同的選擇,也影響開發(fā)者選擇芯片供應商的決策。

運行在i.MXS處理器的.NET微架構提供兩種開發(fā)用戶界面的方法。一種是使用.NET提供的用戶界面元素,另外一種是使用位圖類來直接刷新屏幕。

表3:NET 微架構提供的用戶接口元素

表中所列所有的元素都可以通過類似的方法編程,程序如下:

// Create a panel

StackPanel _panel = new StackPanel();

_panel.Height = _mainWindow.ActualHeight;

_panel.Width= _mainWindow.ActualWidth;

// Create and configure user interface elements

Text textTitle = new Text();

textTitle.Font = Resources.GetFont(Resources.

FontResources.small);

textTitle.TextContent = “Title Text”;

textTitle.HorizontalAlignment = Microsoft.SPOT.

Presentation.HorizontalAlignment.Center;

textTitle.ForeColor = (Microsoft.SPOT.Presentation.

Media.Color)0xFF0000;

// Add the user interface elements to the panel

_panel.Children.Add(textTitle);

上面的代碼首先創(chuàng)建一個面板對象,定義它的尺寸,然后建立好文字對象并定義好字體、大小及顏色屬性。再將文字對象加入到面板子類堆中。

一旦用戶接口元素被加入到顯示面板中,更新元素內容的唯一方法就是異步更新,代碼如下:

delegate void UpdateTitleTextDelegate(String hint);

private void UpdateTitleText(String text)

{

if (textTitle != null) textTitle.TextContent =

text;

}

// When the update of the textTitle is required,

use the following code

_mainWindow.Dispatcher.Invoke(

new TimeSpan(0, 0, 1),

new UpdateTitleTextDelegate(UpdateTitleText),

new object[] { “New Title Text” });

當使用位圖來更新屏幕時,項目的坐標和畫面刷新則不是自動的。開發(fā)者需要通過代碼函數(shù),狀態(tài)變量,計時器和線程來進行目標定位和畫面刷新。下面是一個簡單的例子:

Bitmap _back = new Bitmap(240, 320); // bitmap

used for flush

Bitmap _screen = new Bitmap(240, 320); // based

bitmap to be updated

Font font = Resources.GetFont(Resources.

FontResources.small);

_back.DrawImage(35, 10, Resources.

GetBitmap(Resources.BitmapResources.freescale), 0,

0, 170, 57);

_back.DrawRectangle(Color.White, 1, 35, 10, 170,

57, 2, 2, Color.White, 0, 0, Color.White, 240,

320, 0);

_screen.DrawImage(0, 0, _back, 0, 0, 240, 320);

_screen.DrawTextInRect(“State: Background”, 10,

300, 220, 20, Bitmap.DT_AlignmentCenter |

Bitmap.DT_TrimmingCharacterEllipsis,

(Color)0xFFFFFF, font);

_screen.Flush();

圖表提供了檢驗歷史數(shù)據(jù)以及進行分析的方法。個人健康和安全設備通常使用圖形,例如柱狀圖和點圖來顯示,采用統(tǒng)一格式來比較多個變量。下面介紹兩種圖形處理的方法。

第一是使用用戶接口元素中的圖像元素,開發(fā)者可以通過位圖的屬性從象素級別來控制顯示的信息。

圖1

表4:可以通過下面的位圖類方法來操作圖像中的象素

第二種方法,采用用戶接口元素中的帆布元素,開發(fā)者可以操作坐標和在指定的區(qū)域顯示用戶接口元素,如下例所示:

Canvas _canvas = new Canvas();

_canvas.Height = SystemMetrics.ScreenHeight;

_canvas.Width = SystemMetrics.ScreenWidth;

Shape shape = new Rectangle();

// Getting random numbers for width and height,

fixing the max number to the canvas size

shape.Width = Math.Random(_canvas.Width);

shape.Height = Math.Random(_canvas.Height);

shape.Stroke = new Pen(color);

shape.Fill = new SolidColorBrush(color);

// Setting the location in the canvas for the

element, these functions are static

Canvas.SetTop(shape, Math.Random(_canvas.Height -

shape.Height));

Canvas.SetLeft(shape, Math.Random(_canvas.Width -

shape.Width));

// Adding the shape to the canvas

_canvas.Children.Add(shape);

在上面的代碼中,我們建立了一個帆布對象并定義了寬和高,然后建立一個矩形對象并定義其類型,填充色以及材質。最后,定義好矩形對象在帆布中的坐標,將其添加到帆布中。創(chuàng)建圖形比以往任何時候都更加容易,而這都是基于支持.NET微架構用戶接口元素的i.MXS微處理器。

通信接口

串口通信是所有健康和安全應用中最主要的通信手段。它用來將設備中的數(shù)據(jù)傳輸給個人電腦供醫(yī)生和患者分析。

使用例如UART、SPI、I2C、USB、Ethernet和Wi-Fi的接口常用的發(fā)送數(shù)據(jù)給PC的手段。在下面的例子中,代碼采用UART來進行通信:

SerialPort serialPort;

// The configuration is through the SerialPort.

Configuration class

SerialPort.Configuration serialConfig=new

SerialPort.Configuration(SerialPort.Serial.COM1,

SerialPort.BaudRate.Baud115200, false);

serialPort = new SerialPort(serialConfig);

// The read is through the Read function that

returns the number of bytes read numberOfBytesRead

= serialPort.Read(strBuffer, 0, READ_NUMOFCHARS,

READ_TIMEOUT);

// The write is through the Write function

serialPort.Write(strBuffer, 0, strBuffer.Length);

遺憾的是,串口不使用中斷方式來提醒應用層收到數(shù)據(jù)或串口準備好發(fā)送數(shù)據(jù)。常用的檢查收到字節(jié)數(shù)的方法是監(jiān)測Read的返回值。盡管如此,.NET 微架構使得開發(fā)者可以采用線程和事件的方式建立一個更加完整的類,其中可以采用帶有無限循環(huán)的線程來檢查收到的字節(jié)數(shù)。

圖2是一個基于i.MXS應用處理器的衛(wèi)生保健系統(tǒng)框圖范例。

圖2 基于i.MXS應用處理器的衛(wèi)生保健系統(tǒng)框圖

結論

i.MXS處理器和.NET微架構是專門針對時鐘、手表、遙控器、血糖計、膽固醇計等應用進行優(yōu)化設計的。采用i.MXS處理器和.NET微架構,開發(fā)者不需要成為微處理器的專家就可以迅速的設計有視覺吸引力的用戶界面。高級的C#編程使得程序員可以采用類似個人電腦編程的方式來開發(fā)高端程序。

總之,微軟和飛思卡爾使得設計者可以開發(fā)出引人入勝的應用(外觀和感觀良好并為終端用戶提供增值)迅速推向市場。更重要的是,持續(xù)不斷的監(jiān)測疾病可以減少病痛和被病毒感染,從而幫助提高醫(yī)療救護的反應速度.
 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

廣州2024年8月20日 /美通社/ -- 近年來,我國科技創(chuàng)新能力持續(xù)提升,企業(yè)全球化布局持續(xù)擴張,新產業(yè)、新模式、新動能加快壯大??萍甲兏锱c市場需求快速更迭,催生出新一批就業(yè)崗位和更廣泛的人才需求,推動企業(yè)制定更具韌...

關鍵字: BSP 可持續(xù)發(fā)展 創(chuàng)始人 SHAPE

這是一篇 C 語言與 C++面試知識點總結的文章,如果你覺得文章對你有幫助,文末右下角點個再看轉發(fā)給更多的人。 const 作用 修飾變量,說明該變量不可以被改變; 修飾指針,分為指向常量的指針(pointer to c...

關鍵字: C++ PUBLIC VIRTUAL SHAPE

深度學習是實施機器學習的眾多方法之一,通常使用神經網絡(NN)完成學習階段,來自動決定最相關的數(shù)據(jù)部分,加以分析,進而推理出最合適的響應。NN技術在訓練階段需要海量數(shù)據(jù),因此,這一方面的研究和發(fā)

關鍵字: 機器學習 恩智浦 I.MX 攝像頭

作者:恩智浦物聯(lián)網與安全解決方案資深總監(jiān) Steve Tateosian 使用語音命令來控制我們生活中的機器通常能夠更加自然(且更快)地與周遭世界進行互動。隨著越來越多的小型、低成本消費

關鍵字: 恩智浦 音響 LOCAL I.MX

21ic嵌入式訊 隨著中國的工業(yè)控制和汽車應用市場不斷增長,客戶和代工企業(yè)需要具備卓越性能、高能效、超安全的處理平臺,從而滿足電子銷售點(ePOS)、國家電網集中器、車載信

關鍵字: 飛思卡爾 I.MX 評估套件 LITE

21ic訊 飛思卡爾半導體與中芯國際日前宣布,雙方將采用40nm低功耗(LL)工藝技術和晶圓生產工藝合作生產i.MX應用處理器。中芯國際是世界領先的半導體晶圓代工企業(yè)之一,也是中

關鍵字: 中芯國際 飛思卡爾 應用處理器 I.MX

Freescale作為全球領先的半導體公司,50多年來推出了各種類型的處理器系列。這些處理器根據(jù)不同的功能和性能,又劃分為不同的應用領域,現(xiàn)在讓我們通過有條理的分類來了解一下這些處理器的家族體系以及這些系列中的

關鍵字: FREESCALE 處理器 I.MX COLDFIRE

繼加入開放手機聯(lián)盟 (Open Handset Alliance) 一個月后,飛思卡爾又推出一款新的評估套件。該套件加快并簡化了基于 Android 平臺和飛思卡爾 i.MX51 處理器的應用開發(fā),而該

關鍵字: 飛思卡爾 處理器 ANDROID平臺 I.MX

從事i.MX應用處理器的應用設計客戶支持工作幾年以來,經常會收到GPIO使用或者與其直接相關的問題。而且問題不僅僅來自于初次使用i.MX處理器的客戶,也有很多是來自從事產品開發(fā)多年的工程師。由于i.MX應用處理器具有

關鍵字: GPIO 飛思卡爾 應用處理器 I.MX

嵌入式技術作為21世紀智能時代的核心技術,越來越多的在工業(yè)領域承擔起支柱性作用,嵌入式系統(tǒng)相對之前的電子計算機系統(tǒng)有低功耗、體積小、性能強、穩(wěn)定性高等特點。然而對于工業(yè)用戶來說嵌入式系統(tǒng)最突出、最重要的

關鍵字: 人機交互 嵌入式 ANDROID平臺 I.MX
關閉