Upload
ratabolo
View
220
Download
0
Embed Size (px)
Citation preview
7/26/2019 Paper Programacion
1/3
AbstractoSe presentan aplicaciones a nivel de hardware de
programacin en lenguaje C++. En este caso utilizando como
referencia los sistemas de National Instrument como es el caso de
un !"#$.
I. INTRODUCCIN
os diseadores tradicionalmente han utilizadolenguajes de programacin como C para desarrollarsistemas em!e!idos !asados en ar"uitectura de
microprocesadores o microcontroladores. #a popularidad de Cha dado lugar a un gran ecosistema de opciones tecnolgicasde herramientas como !i!liotecas$ compiladores % sistemasoperati&os. #os arreglos de compuertas programa!les'()*+s, son una tecnolog-a no&edosa en el espacio em!e!ido"ue proporciona la capacidad de crear lgica digital
reconigura!le utilizando lenguajes de descripcin dehard/are. )ara representar el hard/are % apro&echar lanaturaleza paralela de alto rendimiento de los circuitosdigitales$ los lenguajes de descripcin de hard/are orecensem0ntica mu% dierente a lo "ue est0n acostum!rados a usarlos ingenieros de sot/are. +l !rindar entornos de desarrollo
para ()*+s "ue proporcionan caracter-sticas de programacinamiliares para los ingenieros de sot/are$ los desarrolladoresde sistemas em!e!idos pueden o!tener !eneicios por usar()*+s en sus diseos.
#
II. 1I1T23+123424IDO1
#a plataorma de 251 reconigura!les 'RIO,$ consta de dosdispositi&os programa!les6 un microprocesador ejecutando un1O en tiempo real 'RTO1, % un ()*+. 2sto le permite di&idircdigo entre el ()*+ % el RTO1 con !ase en la necesidad decada tarea indi&idual.
Figura1. Arquitectura de Hardware Embebido de NI
#a introduccin de los ()*+s en el diseo de sistemasem!e!idos ha hecho posi!le crear lgica digital de altorendimiento sin la necesidad de un diseo +1IC
personalizado. Tradicionalmente$ el desarrollo de ()*+ ha
sido realizado con lenguajes de descripcin de hard/are!asados en te7to como 89D# o 8erilog$ % el cdigo es escritopor ingenieros de diseo digital. Desaortunadamente$ de!idoa la desaiante sem0ntica del lenguaje$ estos lenguajes dedescripcin hard/are hacen "ue sea di-cil apro&echar todas
las capacidades del diseo de ()*+. +s- lo demuestra lademanda de industrias em!e!idas por encontrar a!straccionesde m0s alto ni&el para el diseo de ()*+$ como herramientas
para s-ntesis de C a compuertas lgicas o lenguajes deprogramacin gr0ica como * en #a!8I2: ()*+.
Figura 2. Arquitectura de Software de Sistemas Embebidos de NI
III. D21+RRO##O D2 +)#IC+CION21 2N TI23)OR2+# 2N C;;
Con dierentes ar"uitecturas de sot/are para elegir$ losprogramadores primero de!en identiicar los re"uerimientos
de su pro%ecto % relacionarlos con un diseo de sot/areptimo. De!en considerar los re"uerimientos t
7/26/2019 Paper Programacion
2/3
Considere estos cuatro patrones !0sicos de diseo.
Figura 3. Arquitecturas de Diseo de Software Embebido Basado e !"!##
I8. ##+3+R+)#IC+CION21O4I4#IOT2C+1C;; D21D2#+48I2:
+l usar #a!8I2: para programar la aplicacin principal entiempo real$ los desarrolladores pueden apro&echarlasunciones integradas para procesamiento de seales%comunicacin en red. +dem0s$ #a!8I2: autom0ticamente
pone en paralelosecciones independientes del cdigo$ por lo"ue los programadores pueden e&itar el manejo manual dem=ltiples threads. 1in em!argo$ pueden reutilizar el cdigo deC o C;; e7istente al llamar !i!liotecas compartidas de C5C;;desde #a!8I2: o ejecutar aplicaciones C5C;; en paralelo alejecuta!le de #a!8I2: RealTime. #os programadores
pueden elegir entre &arias implementaciones para integrar una!i!lioteca compartida de C5C;; o comunicarse con unaaplicacin e7terna6
o Call #i!rar% (unction Node de #a!8I2:Use esta uncin para llamar una uncin de una D##de C5C;; o !i!lioteca compartida de #inu7directamente desde #a!8I2:. Conigure el Call#i!rar% (unction Node para especiicar la !i!lioteca$uncin$ par0metros$ &alor de retorno para el nodo$con&enciones de llamada % llamada de uncin. #ostipos de datos de #a!8I2: se pueden pasar comoentradas % regresar como salidas a la uncin de la
!i!lioteca de C5C;;.
o 1%stem 27ec 8I Use esta uncin paraejecutar o iniciar otra aplicacin de l-nea de comandoo archi&o de script de #inu7 desde su cdigo#a!8I2:. Usted puede incluir cual"uier par0metrocon su secuencia de comandos "ue ese comandosoporte. Enicamente #inu7 RealTime orece estacaracter-stica.
o Comunicacin #ocal #os programas
paralelos tam!i
7/26/2019 Paper Programacion
3/3
Figura $. Herramietas de Desarro%%o !"!## Basadas e &'I o &!
#a!:indo/s5C8I puede a%udarle a acortar su tiempo dedesarrollo con +)Is de controladores$ asistentes deconiguracin de 251$ !i!liotecas de medidas % an0lisis$ %e7tensas herramientas de depuracin % optimizacin de
cdigo.
Usted puede reutilizar cdigo uente de C e7istente en suaplicacin #a!:indo/s5C8I % usar el3dulo#a!:indo/s5C8I RealTimepara implementar % depurar enun dispositi&o remoto en tiempo real sin salir del ID2. NIorece +)Is intuiti&os % de alto rendimiento para todo elhard/are de )FI % )C$ as- como el ()*+ Interace C +)I
para control de 251 % escritura de datos entre la aplicacin entiempo real % el hard/are ()*+.
8I. CONC#U1ION21
)ara representar el hard/are % apro&echar la naturalezaparalela de alto rendimiento de los circuitos digitales$ loslenguajes de descripcin de hard/are orecen sem0ntica mu%dierente a lo "ue est0n acostum!rados a usar los ingenieros de
sot/are.
De!en considerar los re"uerimientos tK National Instrument http655///.ni.com5/hitepaper5@B>A5es5 JAK ///.ceintec.com5desarrollo.html
A
http://www.ni.com/lwcvi/realtime/http://www.ni.com/lwcvi/realtime/http://www.ni.com/lwcvi/realtime/http://www.ni.com/white-paper/14623/es/http://www.ni.com/lwcvi/realtime/http://www.ni.com/lwcvi/realtime/http://www.ni.com/white-paper/14623/es/