scieee Open visual document viewer

Utilizando Arduino Due en la docencia de la entrada/salida

Barrachina Mir, Sergio,Fabregat Llueca, Germán,Martí Avilés, José Vicente

Abstract

Resumen: La problemática de la entrada/salida y su gestión suele formar parte de las asignaturas de introducción a la arquitectura de computadores. La propia naturaleza del tema y su diversidad hace que las sesiones prácticas se lleven a cabo habitualmente, bien sobre dispositivos específicos sencillos, bien sobre simuladores, lo que las aleja de los dispositivos reales y les resta vistosidad. Sin embargo, es posible utilizar dispositivos actuales y sencillos, como las tarjetas Arduino, para presentar a los estudiantes una visión más real y atractiva de la entrada/ salida, manteniendo a su vez la sencillez de uso de los entornos y sistemas empleados, lo que consideramos prioritario en los primeros cursos de grado. En nuestro caso, puesto que actualmente fundamentamos nuestra docencia en arquitectura de computadores sobre la arquitectura ARM, hemos optado por el modelo Arduino Due, que dispone de un microcontrolador, el ATSAM3X8E, que implementa la versión Cortex- M3 de la arquitectura ARM. Para poder realizar las prácticas de entrada/salida hemos modificado ligeramente el entorno Arduino para poder incluir programas en ensamblador, y hemos diseñado una pequeña tarjeta con un led RGB y un pulsador, lo que ha permitido proponer ejercicios sencillos pero vistosos. Los propios dispositivos del microcontrolador de la Arduino DUE han bastado para abarcar otros aspectos de la entrada/salida y presentar ejemplos de mayor complejidad para incentivar a los estudiantes. La primera experiencia con este entorno ha sido satisfactoria tanto para el profesorado de las asignaturas en las que se ha utilizado como para los estudiantes, en quienes además se ha fomentado el interés en continuar trabajando con las tarjetas Arduino en sus propios proyectos.

Full text

U ilizando A duino Due en la docencia de la en ada/salida Se gio Ba achina Mi , Ge mán Fab ega Llueca, José Vicen e Ma í A ilés Dp o. de Ingenie ía y Ciencia de los Compu ado es Uni e si a Jaume I Cas ellón {ba achi, ab ega , ma i}@uji.es Resumen La p oblemá ica de la en ada/salida y su ges ión suele o ma pa e de las asigna u as de in oducción a la a - qui ec u a de compu ado es. La p opia na u aleza del ema y su di e sidad hace que las sesiones p ác icas se lle en a cabo habi ualmen e, bien sob e disposi i os especí icos sencillos, bien sob e simulado es, lo que las aleja de los disposi i os eales y les es a is osi- dad. Sin emba go, es posible u iliza disposi i os ac uales y sencillos, como las a je as A duino, pa a p esen a a los es udian es una isión más eal y a ac i a de la en- ada/salida, man eniendo a su ez la sencillez de uso de los en o nos y sis emas empleados, lo que conside- amos p io i a io en los p ime os cu sos de g ado. En nues o caso, pues o que ac ualmen e undamen a- mos nues a docencia en a qui ec u a de compu ado es sob e la a qui ec u a ARM, hemos op ado po el mode- lo A duino Due, que dispone de un mic ocon olado , el ATSAM3X8E, que implemen a la e sión Co ex- M3 de la a qui ec u a ARM. Pa a pode ealiza las p ác icas de en ada/salida he- mos modi icado lige amen e el en o no A duino pa a pode inclui p og amas en ensamblado , y hemos di- señado una pequeña a je a con un led RGB y un pulsa- do , lo que ha pe mi ido p opone eje cicios sencillos pe o is osos. Los p opios disposi i os del mic ocon- olado de la A duino DUE han bas ado pa a aba ca o os aspec os de la en ada/salida y p esen a ejemplos de mayo complejidad pa a incen i a a los es udian es. La p ime a expe iencia con es e en o no ha sido sa is- ac o ia an o pa a el p o eso ado de las asigna u as en las que se ha u ilizado como pa a los es udian es, en quienes además se ha omen ado el in e és en con i- nua abajando con las a je as A duino en sus p opios p oyec os. Abs ac The inpu /ou pu (I/O) and i s managemen is o en pa o he in oduc o y cou ses o compu e a chi ec u e. The e y na u e o his opic and i s di e si y makes ha he p ac ice sessions o en ake place ei he on sim- ple speci ic de ices, o on simula o s, which hide he complexi y o ac ual I/O de ices and sub ac s hei ap- pealing. Howe e , i is possible o use oday exis ing and sim- ple de ices such as A duino boa ds o in oduce s u- den s o a mo e ealis ic and a ac i e ision o he I/O, while main aining he ease o use o he equi ed en i- onmen s and sys ems, which we conside a p io i y on i s deg ee cou ses. In ou case, since cu en ly we base ou eaching on compu e a chi ec u e on he ARM a chi ec u e, we ha e op ed o he A duino Due model, which has a mic ocon olle , ATSAM3X8E, which implemen s he Co ex-M3 e sion o he ARM A chi ec u e. To ca y ou he labo a o y sessions on I/O we ha e sligh ly modi ied he A duino IDE in o de o accep assembly sou ce code. In addi ion, we ha e designed and buil a small boa d wi h an RGB led and a swi ch, which allowed us o p opose simple bu colou ul exe - cises. The buil -in I/O included in he ARM con olle o he A duino DUE boa d ha e p o ed enough o ex- plo e o he impo an aspec s o I/O as well as o o e mo e complex examples o incen i a e he s uden s on he subjec . The i s expe ience wi h his en i onmen has been sa is ac o y o bo h eache s and s uden s, who also ha e os e ed in e es in con inuing o wo k wi h A - duino ca ds in hei own p ojec s. Palab as cla e A qui ec u a de Compu ado es, En ada/Salida, A - duino Due, ARM, Thumb, Ensamblado . Ac as de las XXI Jo nadas de la Enseñanza Uni e si a ia de la In o má ica Ando a La Vella, del 8 al 10 de julio 2015 ISBN: 978-99920-70-10-9 58 1. Mo i ación Suele se habi ual que los cu sos de a qui ec u a de compu ado es cambien pe iódicamen e sus con e- nidos pa a así pode segui el paso a la espec acu- la e olución de la a qui ec u a de los compu ado es. Po o o lado, la mayo ía de los cu sos de a qui ec u a de compu ado es ecu en no malmen e a un ha dwa e de e minado pa a explica los concep os elacionados con la ma e ia [7]. En 2013 omamos la decisión de modi ica la a - qui ec u a de e e encia de las asigna u as elaciona- das con la ma e ia de A qui ec u a de Compu ado es. Decidimos cambia de la a qui ec u a MIPS a la ARM. La a qui ec u a ARM p esen a muchas ca ac e ís i- cas que la dis inguen de o as a qui ec u as con empo- áneas y, po o o lado, al es a basada en RISC, es ela- i amen e sencilla [5]. Además, el hecho de que ARM sea una a qui ec u a ac ual y ampliamen e di undida, especialmen e en disposi i os mó iles, sma phones y able s, es un ac o especialmen e mo i ado pa a los es udian es [6]. Una ez omada la decisión de cambia a la a qui- ec u a ARM, se inició un p oceso de ede inición de las guías docen es y de los ma e iales u ilizados en la enseñanza an o eó ica como p ác ica de las dis in as asigna u as elacionadas con la ma e ia de A qui ec u- a de Compu ado es. En conc e o, en la asigna u a Es uc u a de Compu- ado es, de p ime cu so, p ime semes e, uno de los obje i os ue el de ede ini la docencia an o eó ica como p ác ica de la pa e co espondien e a la ges ión de la en ada/salida. Has a ese momen o, en las p ác icas de dicha asig- na u a [2] se u ilizaba el simulado Q Spim1, an es llamado xspim en su e sión pa a GNU/Linux. El si- mulado xspim nos pa ecía un en o no adecuado pa a las p ác icas de en ada/salida de la asigna u a debido a que dicho simulado inco po a un pequeño p og a- ma moni o (cuyo código uen e es á disponible y pue- de se adap ado) y simula un conjun o de disposi i os de en ada/salida: eclado, pan alla y eloj, que pueden sinc oniza se po consul a de es ado o po in e upcio- nes. Pues o que e a necesa io adap a las p ác icas de en- ada/salida a la a qui ec u a ARM, nos plan eamos si que íamos con inua con una expe iencia docen e ba- sada en el uso de un simulado . En ese caso, el es- udian e debe ía p og ama en ensamblado el código necesa io pa a in e ac ua con los disposi i os de en- ada/salida p opo cionados po el simulado que ue a a u iliza se. O si po el con a io, apos ábamos po un en oque ce cano a lo que se ha dado en llama compu- ación ísica [10]. En es e caso, el es udian e in e ac- 1h p://spimsimula o .sou ce o ge.ne / ua ía con disposi i os ísicos, debe ía se conscien e de qué es lo que quie e que pase en la ealidad y po- d ía obse a cómo su aplicación es capaz, o no, de eacciona adecuadamen e an e e en os ex e nos. Si- guiendo dicho en oque, el es udian e pod ía elaciona ácilmen e la secuencia de acciones a las que un dispo- si i o iene que da espues a, con la p og amación que haya ealizado de dicho disposi i o. C eemos que es a segunda opción es mucho más en- iquecedo a pa a el es udian e que simplemen e limi- a se a obse a en la pan alla de un simulado si su código de ges ión de la en ada/salida se compo a co- mo eó icamen e debe ía. Es más, pues o que mucha de la p oblemá ica de la en ada/salida es á di ec amen e elacionada con la in e acción homb e-máquina, es a segunda opción o ece al es udian e la opo unidad de en en a se a un escena io eal, en el que si no se oman las debidas p ecauciones, no odo unciona á como se espe a. Así pues, una ez op amos po la in e acción con disposi i os ísicos, quedaba po decidi qué compo- nen e ha dwa e u iliza en el labo a o io. Pues o que nues as es icciones e a que dicho componen e es u- ie a basado en la a qui ec u a ARM y que ue a de bajo cos e, pa a que el es udian e pudie a adqui i lo en el caso de que e expe imen a po su cuen a, la a je a A duino Due, basada en ARM y con un p ecio econó- mico, nos dio la imp esión de se una buena elección. O a posible al e na i a, de la que hay expe iencias que p ueban que es una buena opción, hubie a sido la de u iliza la ídeo-consola Nin endo DS [9]. Sin em- ba go, la mayo complejidad de es e disposi i o y de su en o no, y el hecho de que una a je a desnuda como la A duino DUE dan al es udian e una isión más e iden- e del ha dwa e, nos e o za on en nues a decisión. La a je a A duino2, además de su gi del mundo académico, ha sido u ilizada ampliamen e y con éxi- o en la docencia uni e si a ia. Po ejemplo, en [8] se desc ibe cómo se ha empleado dicha a je a pa a la do- cencia de sis emas empo ados, con un en oque basado en p oyec os. De igual o ma, en [11] y [12] se des- c iben las en ajas que p opo ciona dicho en o no, en uno de los casos en combinación con los obo s LEGO, pa a la docencia de p og amación de compu ado es a es udian es que no son de ingenie ía in o má ica y que se en en an po p ime a ez a la p og amación. En conc e o, el modelo Due de A duino3p esen a las siguien es ca ac e ís icas que conside amos in e e- san es desde el pun o de is a de la docencia de la en- ada/salida u ilizando ARM como a qui ec u a de e- e encia: •Mic ocon olado A mel SAM3X8E con una CPU ARM Co ex-M3. 2h p://a duino.cc/ 3h p://a duino.cc/en/Main/a duinoBoa dDue Ac as de las XXI Jo nadas de la Enseñanza Uni e si a ia de la In o má ica Ando a La Vella, del 8 al 10 de julio 2015 ISBN: 978-99920-70-10-9 59 •54 pines de en ada/salida digi ales (de los cuales 12 pueden u iliza se como salidas PWM). •12 en adas analógicas. •4 UARTs (pue os se ie ha dwa e). •Conexión USB con capacidad on- he-go (OTG). •2 con e so es digi al a analógico. •Reloj (a 84 Mhz). •Conec o es SPI y JTAG. Todo lo an e io po menos de 45 ¤. Po si ue a poco, debido a la g an acogida que ha enido A duino po pa e de en usias as del hágalo us- ed mismo [13], el ecosis ema a su al ededo es simple- men e imp esionan e: exis en mul i ud de p oyec os li- b emen e accesibles, una g an can idad de ex ensiones ha dwa e (shields) que se acoplan di ec amen e sob e la a je a A duino, y una ingen e can idad de so wa e lib e y de documen ación. En cuan o al en o no de desa ollo A duino, és e p opo ciona un conjun o de biblio ecas y unciones des inadas al manejo de la en ada/salida y a la co- municación de la a je a A duino con el compu ado a a és del pue o USB. Po no menciona las biblio e- cas p opo cionadas po los ab ican es de los dis in os shields, que se pueden inco po a ácilmen e al en o no pa a pode u iliza los de una o ma sencilla. Po o o lado, la p og amación de la a je a A duino se ealiza habi ualmen e en C/C++. Es más, el en o no de desa ollo A duino solo sopo a dichos lenguajes. Teniendo en cuen a la g an a iedad de modelos A - duino, es a decisión en endemos que es á mo i ada po la in ención de que si alguien desa olla un código en C/C++ pa a una de e minada a je a A duino, és e po- d á u iliza se en o os modelos de a je as A duino sin ningún p oblema. No ocu i ía lo mismo si se pe mi- ie a p og ama en lenguaje ensamblado , ya que dicho p og ama es a ía ligado a la a qui ec u a conc e a de un de e minado modelo de a je a A duino, pe diéndo- se la compa ibilidad so wa e en e a je as. Sin emba go, pa a el caso que nos ocupa, la ges- ión de la en ada/salida a bajo ni el, las unciones en C/C++ p opo cionadas po el en o no A duino abs- aen una g an pa e de la p oblemá ica elacionada con la ges ión de la en ada/salida desde el pun o de is a de un a qui ec o de compu ado es. Así que apa en e- men e no podíamos con a con el en o no de desa ollo de A duino pa a p og ama di ec amen e la a je a A - duino Due, a no se que decidié amos ocul a lo que ealmen e ocu e a ni el del lenguaje máquina. A o unadamen e, y pues o que el en o no de desa- ollo de A duino es so wa e lib e, uimos capaces de in oduci las modi icaciones necesa ias pa a que dicho en o no acep a a di ec amen e código en ensamblado . En is a de odo lo an e io , decidimos adqui i unas cuan as a je as A duino Due y e alua cómo pod ía- mos u iliza las pa a la docencia de la ges ión de la en- ada/salida. A pa i de dicho es udio, desa ollamos el ecu so docen e que p esen amos en es e a ículo y que ha sido u ilizado más que sa is ac o iamen e du an e el cu so 2014/15 en los G ados en Ingenie ía In o má i- ca y en Ma emá ica Compu acional de la Uni e si a Jaume I. El es o del a ículo es á o ganizado como sigue. En el Apa ado 2 se mues a el con ex o docen e en el que se ha desa ollado el ecu so docen e p opues o. En el Apa ado 3 se desc ibe el ma e ial del que cons a es e ecu so docen e. El Apa ado 4 mues a los esul ados ob enidos. Finalmen e, en el apa ado 5 se desc iben las conclusiones y abajo u u o. 2. Con ex o docen e La asigna u a Es uc u a de Compu ado es es de o - mación básica y se impa e en p ime cu so, p ime se- mes e en los G ados en Ingenie ía In o má ica y en Ma emá ica Compu acional de la Uni e si a Jaume I. Al se una asigna u a de o mación básica, iene asignada pa e de la siguien e compe encia ijada po Resolución de 8 de junio de 2009, de la Sec e a ía Ge- ne al de Uni e sidades4: «Conocimien o de la es uc- u a, o ganización, uncionamien o e in e conexión de los sis emas in o má icos, los undamen os de su p o- g amación, y su aplicación pa a la esolución de p o- blemas p opios de la ingenie ía». Con el obje i o de da espues a a dicha compe en- cia, la asigna u a se ha es uc u ado en es emas, el e ce o de los cuales aba ca los sis emas de en ada/- salida. Pa a dicho ema se han de inido los obje i os o ma i os que se de allan a con inuación. El es udian e, al inaliza la asigna u a, debe á se capaz de: 1. Desc ibi la p oblemá ica gene al de la en ada/- salida. 2. De ini los é minos de la encia, asa de ans e- encia y p oduc i idad y se capaz de es ima o calcula sus alo es pa iendo de da os su icien- es. 3. Ca ac e iza los sis emas de en ada/salida en un- ción de su compo amien o, in e locu o , asa de ans e encia y la encia. 4. Desc ibi la es uc u a gene al de los disposi i os de en ada/salida. 5. Enume a y desc ibi las o mas po medio de las cuales el p ocesado puede accede a los disposi- i os de en ada/salida. 6. Enume a los ipos de egis os de los disposi i os de en ada/salida y explica cómo y pa a qué se u ilizan. 4Publicada en el BOE el 4 de agos o de 2009 Ac as de las XXI Jo nadas de la Enseñanza Uni e si a ia de la In o má ica Ando a La Vella, del 8 al 10 de julio 2015 ISBN: 978-99920-70-10-9 60 7. Explica y e alua el uncionamien o, así como las en ajas y des en ajas, de los dos sis emas de sinc onización de la en ada/salida: I) consul a de es ado (polling) e II) in e upciones. 8. Explica y e alua el uncionamien o, así como las en ajas y des en ajas, de los dos sis emas de ans e encia de da os de en ada/salida: I) ans- e encias po p og ama ealizadas po el p ocesa- do y II) acceso di ec o a memo ia (DMA). 9. Desc ibi las ca ac e ís icas gene ales de la en a- da/salida de p opósi o gene al (GPIO) y de los mecanismos de empo ización de los o denado- es. 10. Analiza p og amas esc i os en ensamblado Thumb 2 que ges ionen disposi i os de en ada/- salida. 11. Desa olla p og amas en ensamblado Thumb 2 que ges ionen disposi i os de en ada/salida. Pa a la consecución de los an e io es obje i os o - ma i os, se ha op ado po di idi la ma e ia obje o de es udio en los siguien es cinco bloques: 1. In oducción y p oblemá ica gene al de la en a- da/salida. 2. Aspec os gene ales de la en ada/salida de p opó- si o gene al (GPIO) y de la empo ización. 3. Ges ión de la en ada/salida po medio de consul- a de es ado. 4. Ges ión de la en ada/salida po medio de in e- upciones. 5. T ans e encia de da os po p ocesado y po acce- so di ec o a memo ia. En cuan o a la ca ga de abajo del es udian e, se han asignado 1,8c édi os ECTS. La mayo pa e del aba- jo se ealiza á a lo la go de 5 semanas en los siguien es ipos de ac i idades: •5 sesiones de eo ía de 2 ho as cada una. •4 sesiones de labo a o io de 2 ho as cada una. •18 ho as de p epa ación en e sesiones. La o ganización empo al de las sesiones de eo ía y labo a o io se mues a en la Figu a 1. Con iene des- aca que se ha apos ado po ealiza las sesiones de eo ía y labo a o io en el mismo día pa a e i a que la sesión de eo ía y su labo a o io co espondien e se desinc onicen debido a la p esencia de es i os. Es a sinc onización es impo an e ya que nos pe mi e se- gui una me odología docen e en la que el es udian e p epa a po su cuen a el con enido que se desa olla á en la siguien e sesión, an o en la clase de eo ía como en la de p ác icas. Además de las ho as ya indicadas, el es udian e de- be á dedica 9 ho as de es udio pe sonal pa a exámenes —no necesa iamen e en esas semanas—. En cuan o a la me odología docen e, se ha segui- do el siguien e plan eamien o basado en la u ilización 9:00 11:00 11:30 13:30 S10 S11 S12 S13 S14 Teo ía En ada/Salida P ác icas En ada/Salida Figu a 1: O ganización empo al de las sesiones de eo- ía y labo a o io de en egables y en la me odología de clase in e ida ( lipped class oom): •En p ime luga , el es udian e debe p epa a de o ma indi idual una pa e de cada una de las se- siones de eo ía y labo a o io con an elación. Pa a ello, una semana an es se le p opo ciona un en e- gable en el que se indica qué documen ación debe consul a , además de un conjun o de p egun as y eje cicios sencillos que debe ía se capaz de e- sol e a pa i de dicha documen ación. •La clase de eo ía comienza con la esolución de o ma conjun a de las dudas que hayan podido su gi du an e la ealización del en egable, así como la co ección de las p egun as y eje cicios plan eados. Una ez hecho lo an e io , se p o un- diza sob e el ema en cues ión y se plan ean nue- os p oblemas que deben se esuel os en equipos de es es udian es. •Po úl imo, cada equipo ealiza en el labo a o io la co espondien e p ác ica sob e el ema en cues- ión. La e aluación se ealiza de o ma con inua y iene en cuen a los en egables ealizados, la no a ob enida en las sesiones de labo a o io, la no a ob enida en el examen de obje i os básicos co espondien e y la pa e co espondien e a la en ada/salida en el examen eó i- co. Pa a la ges ión y cali icación de las ac i idades se ha u ilizado la he amien a desc i a en [1]. 3. En ada/salida con A duino El ecu so docen e p esen ado en es e a ículo p e- ende p opo ciona ma e ial eó ico y de labo a o io con el obje i o de acili a la comp ensión po pa e del es udian e de la ges ión de la en ada/salida desde el pun o de is a de la a qui ec u a de compu ado es. Cons a de: •Los es úl imos capí ulos de [3]. •P og amas de ejemplo. •El en o no de desa ollo de A duino modi icado pa a acep a iche os en ensamblado . •Esquemá ico de un ci cui o sencillo con un pulsa- do y un diodo LED RGB. Ac as de las XXI Jo nadas de la Enseñanza Uni e si a ia de la In o má ica Ando a La Vella, del 8 al 10 de julio 2015 ISBN: 978-99920-70-10-9 61 •Solución del p o eso . Todo el ma e ial an e io , sal o la solución del p o- eso , que es á disponible bajo demanda, puede desca - ga se desde la siguien e di ección web: h p://lo ca.ac .uji.es/book/p ac ARM/ Con iene ene en cuen a que pa a pode ealiza las p ác icas p opues as, an solo se á necesa io dispone , po cada equipo de es udian es, del siguien e ma e ial: •1 Compu ado con GNU/Linux, MacOSX o Win- dows. •1 Ta je a A duino Due. •1 Ta je a de en ada/salida basada en el esquemá- ico p opo cionado ( e Figu a 2). Figu a 2: Ta je a de en ada/salida Los siguien es subapa ados desc iben con un poco más de de alle los dis in os ma e iales que o man es e ecu so docen e. 3.1. Capí ulos de en ada/salida La pa e del lib o «In oducción a la a qui ec u a de compu ado es con Q ARMSim y A duino» [3] dedica- da a la en ada/salida se ha o ganizado en es capí u- los. El p ime o de ellos p opo ciona una in oducción eó ica a la en ada/salida. Comienza hablando de las gene alidades y p oblemá ica asociada a la en ada/sa- lida. Desc ibe la es uc u a de los sis emas y disposi- i os de en ada/salida. Con inúa con la ges ión de la en ada/salida po medio de consul a de es ado y de in- e upciones. Po úl imo, desc ibe las ans e encias de da os y la DMA. Es un capí ulo eminen emen e eó i- co, que si e como in oducción eó ica de cada uno de los emas comen ados. El segundo de los capí ulos se cen a en los disposi i- os de en ada/salida. El p ime apa ado a a los dis- posi i os de en ada/salida elacionados con la en a- da/salida de p opósi o gene al (GPIO). P ime o desde un pun o de is a gené ico y después, pa icula izado a la GPIO del ATSAM3X8E (el mic ocon olado inco - po ado en la a je a A duino Due). El segundo apa ado aba ca la ges ión del iempo. Al igual que an es, en un p ime luga de o ma gené ica, pa a después pa icu- la iza lo a la ges ión del iempo del ATSAM3X8E. El e ce apa ado cub e la ges ión de excepciones e in e- upciones en el ATSAM3X8E. El úl imo apa ado, el con olado de DMA del ATSAM3X8E. El úl imo de los es capí ulos es á des inado al en- o no de p ác icas. Comienza desc ibiendo la a je a A duino Due, la a je a de en ada/salida, el en o no de desa ollo y la c eación de p oyec os en dicho en o no. A con inuación, se p oponen eje cicios pa a las cua o sesiones de labo a o io que se de allan seguidamen e. In oducción a la en ada/salida. En es a p ime a sesión se mues a cómo encende o a apaga el LED de la a je a de en ada/salida; cómo esc ibi in o ma- ción po medio del pue o se ie de la a je a A duino; y cómo accede a la in o mación del eloj de iempo eal pa a ob ene la echa y ho a ac ual de la a je a A duino Due. En ada/salida po consul a de es ado. En es a se- sión se incide sob e la consul a de es ado y su p oble- má ica. El es udian e debe á p og ama el en o no A - duino pa a de ec a la pulsación del pulsado de la a - je a de en ada/salida y ac ua en consecuencia. Tam- bién end á que p og ama una ala ma en el eloj en iempo eal de la a je a A duino y a e igua po con- sul a de es ado si la ala ma ha sal ado o no. En ada/salida po in e upciones. En es a sesión el es udian e debe con igu a la a je a A duino pa a ac i a las in e upciones y p oba las dis in as con i- gu aciones disponibles. Se p opone u iliza el pulsado de la a je a de en ada/salida pa a comp oba cómo a- ía el a amien o de las in e upciones en unción de la con igu ación seleccionada. El es udian e ambién de- be á p og ama el eloj en iempo eal pa a ija una ala ma de al o ma que cuando és a sal e, se gene e una in e upción (y compa a el compo amien o de es- a p ác ica con el obse ado en la p ác ica an e io , en la que se a e iguaba si la ala ma se había gene ado o no po medio de la consul a de es ado). Modulación po ancho de pulso (PWM), acceso di- ec o a memo ia (DMA) y pue o USB. En p ime luga , el es udian e e á cómo se puede disminui la in ensidad pe cibida del LED de la a je a de en ada/- salida sin más que modi ica la p opo ción de iempo que és e pe manece encendido en un ciclo de aba- jo. En la segunda pa e de la p ác ica, explo a á la u i- lización del con olado de acceso di ec o a memo ia (DMA) pa a la ans e encia de bloques de memo ia. En la úl ima pa e de la p ác ica, debe á pone en un- cionamien o un ejemplo más elabo ado capaz de p o- g ama la a je a A duino Due de al o ma que és a simule que es un a ón, p ime o, y un eclado, después. Ac as de las XXI Jo nadas de la Enseñanza Uni e si a ia de la In o má ica Ando a La Vella, del 8 al 10 de julio 2015 ISBN: 978-99920-70-10-9 62 3.2. P og amas de ejemplo Como ya se ha comen ado an e io men e, el obje i o de las p ác icas es el de ealiza p og amas en ensam- blado de ARM que sean capaces de con igu a e in e - ac ua con los disposi i os de en ada/salida p esen es en la a je a A duino Due. No se ía ealis a p e ende que en cada sesión de dos ho as de labo a o io los es udian es ue an capaces de abo da desde ce o odos los p og amas que se p opo- nen en cada sesión. Po an o, pa a la mayo ía de los eje cicios p opues os se p opo ciona una p ime a e - sión que los es udian es debe án i modi icando, com- ple ando o ex endiendo en unción de lo que deban ea- liza inalmen e. Dichos p og amas de ejemplo se p opo cionan am- bién como pa e de es e ecu so docen e. En ellos se han ocul ado agmen os de código y alo es conc e- os de e ique as, másca as y di ecciones de E/S pa a que los alumnos los comple en, man eniendo la es uc- u a del p og ama y los comen a ios desc ip i os de las acciones que debe ealiza cada sección del código y cada ins ucción pa a acili a la comp ensión po pa - e del alumno. La Figu a 4 mues a un agmen o de código a modo de ejemplo. 3.3. En o no de desa ollo modi icado El en o no de desa ollo de A duino, que puede des- ca ga se desde su página web, no sopo a la ealización de p oyec os A duino en o os lenguajes de p og ama- ción que no sean C o C++. A o unadamen e, pues o que dicho en o no de desa ollo es so wa e lib e, he- mos podido es udia su código y modi ica lo pa a que ambién acep a a y compila a p og amas en lenguaje ensamblado . U ilizando es a e sión modi icada es posible desa- olla p oyec os que engan iche os uen e an o en C/C+, como en ensamblado de ARM. Es o nos ha pe - mi ido g adua la di icul ad de las p ác icas de al o - ma que de e minadas acciones se ealizan inicialmen e en C/C++ y pos e io men e se mues a qué acciones se deben ealiza a bajo ni el pa a consegui el mismo e ec o. 3.4. Ci cui o sencillo con un pulsado y un diodo LED RGB Aunque exis en mul i ud de ex ensiones ha dwa e (shields) de en ada/salida pa a la a je a A duino Due, nos plan eamos cuál se ía el ci cui o más simple que pe mi ie a ealiza p ác icas de en ada/salida que ue- an sencillas pe o su icien emen e is osas. Llegamos a la conclusión de que pues o que la a - je a A duino Due ya p opo ciona o os disposi i os de en ada/salida como un empo izado , un eloj de iem- po eal y un con olado de DMA, e a su icien e con un ci cui o simple como el mos ado en la placa de la Figu a 2. Dicho ci cui o es á o mado po 4 esis en- cias, un pulsado y un diodo LED RGB. De es a o - ma, es posible p o oca e en os en la a je a po medio del pulsado y isualiza su salida po medio del diodo LED RGB. Hay que ene en cuen a que, al a a se de un diodo LED RGB, se dispone en ealidad de es sa- lidas, cada una de ellas asociada a uno de los colo es: ojo, e de y azul. Además, se ha diseñado una placa con dicho ci cui o de al o ma que pueda inse a se di ec amen e en la a je a A duino Due, al y como se puede e en la Figu a 3. Figu a 3: Ta je a A duino/Due con la a je a de en a- da/salida conec ada Desde nues o pun o de is a, la u ilización de un ci cui o ex emadamen e sencillo en luga de un shield p e ab icado p esen a dos en ajas. Po un lado, el ci - cui o p opues o iene pocos componen es y un es u- dian e pod ía ep oduci lo po su cuen a po muy poco dine o (ni siquie a es necesa io que ab ique una pla- ca imp esa, pod ía u iliza di ec amen e una placa de p o o ipos). Po o o lado, al u iliza un ci cui o an sencillo, el es udian e es conscien e de que dichos elemen os (pul- sado y LED RGB) es án di ec amen e conec ados a los pines de en ada/salida de la a je a A duino. Así, cuando pos e io men e p og ame la GPIO a bajo ni el, pod á e que su p og ama en ensamblado es a á con- igu ando, consul ando o ac i ando jus amen e dichos pines de en ada/salida. Un shield más complejo (po ejemplo una pan alla LCD) pod ía esul a más is oso, pe o además de se más ca o, una de dos, o se hab ía añadido una com- plejidad innecesa ia en el caso de ges iona su en a- da/salida a bajo ni el, o se hubie a ocul ado el uncio- namien o de la en ada/salida en el caso de habe u i- lizado las unciones en C/C++ p opo cionadas po el co espondien e ab ican e. Ac as de las XXI Jo nadas de la Enseñanza Uni e si a ia de la In o má ica Ando a La Vella, del 8 al 10 de julio 2015 ISBN: 978-99920-70-10-9 63 3.5. O os disposi i os in e esan es La di e sidad de disposi i os p esen es en el mic o- con olado ATSAM3X8E hace que sea necesa io bus- ca un equilib io adecuado en e qué es necesa io pa a aba ca odos los obje i os de la asigna u a y qué pue- de esul a ú il y is oso, mo i ando al es udian e, pe o añade una complejidad excesi a pa a p ime cu so. Nues a elección se conc e ó en el uso, como dispo- si i os undamen ales, de la GPIO (en ada/salida de p opósi o gene al) y del eloj de iempo eal como ele- men o de empo ización. Ambos pe mi en su ges ión median e p ueba de es ado o in e upciones, y son su- icien emen e sencillos y áciles de comp ende . Pa a el segundo g upo, se u ilizó el PWM (modula- ción de anchu a de pulsos) y la in e az de disposi i- o USB. Median e modi icaciones sencillas del códi- go que se les p opo cionaba, los es udian es pudie on e un uso más a anzado de la en ada/salida, sin que hubie a una g an complejidad concep ual en los eje ci- cios. 4. Resul ados Una ez inalizado el cu so, ealizamos una encues a con 3 p egun as de escala Like de 1 a 5, siendo 1 « o- almen e en desacue do» y 5 « o almen e de acue do», y 2 de espues a abie a. Con es a on a dicha encues a 28 es udian es (un 19 % de los que siguie on la asigna- u a). Las p ime as dos p egun as, elacionadas con el ob- je i o docen e del ecu so y la sa is acción del es u- dian e, «Conside o que las p ác icas con A duino me han se ido pa a en ende mejo cómo unciona y se p og ama la en ada/salida» y «Recomenda ía que se siguie a u ilizando A duino en la docencia de a qui ec- u a de compu ado es» ob u ie on una mediana de 4 y 5, espec i amen e. La e ce a p egun a, di igida ex- clusi amen e a epe ido es, «Conside o más in e esan- es las p ác icas de E/S sob e A duino de es e cu so que las que se ealiza on el cu so pasado con el simulado XSPIM», ob u o una mediana de 5. Las espues as ob enidas en la penúl ima p egun a, «¿Qué aspec os posi i os des aca ías de las p ác icas con A duino?», des aca on la mo i ación que supone un sis ema eal y en conc e o el A duino, así como la mayo acilidad en en ende el uncionamien o de la en ada/salida sob e dicho sis ema, en e al uso de un simulado . Po úl imo, las espues as a la p egun a «¿Qué c ees que con end ía mejo a de las p ác icas con A duino?» incidie on en que les hubie a gus ado que la asigna u a dispusie a de más iempo pa a pode p o undiza más en la a qui ec u a de compu ado es y que se hubie a explicado con más de alle el IDE de A duino, que les esul ó un poco desconce an e al p incipio. Al ma gen de la encues a, me ece la pena des aca el que es udian es que ya habían supe ado la asigna u a, cuando se han en e ado po sus compañe os que había- mos u ilizado A duino en las p ác icas, nos han pedido pe miso pa a pode acudi como oyen es a las p ác icas del p óximo cu so. En cuan o al endimien o académico, compa ado con espec o al cu so an e io , se ha aumen ado el po - cen aje de es udian es que han seguido la asigna u a del 83 % al 88 % y el núme o de ap obados del 49 % al 56 %. Si bien es cie o que no es posible conclui que las mejo as en los esul ados es én di ec amen e elacionadas con la u ilización de es e ecu so docen e, ya que hay una g an a iedad de ac o es que pod ían habe mo i ado dichas mejo as. Po úl imo, la alo ación de los p o eso es de labo- a o io ambién ha sido muy posi i a. 5. Conclusiones y abajo u u o Conside amos que el ecu so docen e p esen ado ha pe mi ido comple a en buena medida los obje i os que nos plan eamos al decidi o ien a la asigna u a en- o no a la a qui ec u a ARM. También c eemos, basán- donos en los esul ados académicos del p esen e cu so, así como en las espues as dadas po los es udian es as el desa ollo de las p ác icas, que el uso de la a - je a A duino Due ha sido una elección ace ada. Además, conside amos que se ha p opo cionado a los es udian es una base de conocimien os su icien e pa a que puedan con inua desa ollando sus p opios p oyec os con sis emas A duino y, lo que conside a- mos más impo an e, c eemos habe susci ado su in e- és po el desa ollo de es os p oyec os que, en de i- ni i a, les pe mi i á mejo a múl iples aspec os de su o mación en a qui ec u a de compu ado es y en dise- ño de sis emas in o má icos. Pa a los p óximos años se p e é mejo a y comple- a an o la documen ación de los aspec os eó icos co- mo los eje cicios p ác icos, con nue os ejemplos que incidan sob e o os disposi i os in eg ados en el AT- SAM3X8E, que se deja án como abajo de ampliación de conocimien os pa a los es udian es. Po o a pa e, en el caso de que se amplia a el si- mulado desc i o en [4] pa a sopo a el conjun o de ins ucciones Thumb II, que co esponde a la a qui ec- u a p esen e en la a je a A duino Due, se ía deseable, en el u u o, enlaza ambos sis emas. Re e encias [1] Se gio Ba achina Mi , Asunción Cas año Ál a- ez, Ma ibel Cas illo Ca alán, Ge mán León Na- Ac as de las XXI Jo nadas de la Enseñanza Uni e si a ia de la In o má ica Ando a La Vella, del 8 al 10 de julio 2015 ISBN: 978-99920-70-10-9 64 1# Espe a ac i ación pulsado y eg esa 2# Decla aciones de cons an es 3.equ PIOB, 0x???????? @ Di ección base del PIO B 4.equ PIO_PER, 0x?? @ O se Pio Enable Regis e 5.equ PIO_IDR, 0x?? @ O se In e up Disable Regis e 6.equ PIO_PUER, 0x?? @ O se Pull Up Enable Regis e 7[...] 8# oid pulsado () 9# Espe a pulsación pulsado y eg esa de ol iendo el CHIP ID 10 pulsado : 11 # 0 - Di ección base del PIOB 12 # 1 - Másca a del pulsado 13 # 2 - Con enido del egis o de E/S del PIOB 14 push {l } @ No usamos los egis os 4- 7 15 # Con igu ación del pin del pulsado como en ada con pull-up 16 ld 0, =PIOB @ Di ección base del Con olado PIOB 17 ld 1, =PULMSK @ Másca a con el bi del pulsado ac i ado 18 s 1, [ 0, ???????] @ Deshabili a in e upciones asoc. al pin 19 s 1, [ 0, ???????] @ Ac i a el pull-up 20 [...] Figu a 4: Ejemplo de agmen o de código p opo cionado a los es udian es a o, Ra ael Mayo Gual y En ique S. Quin ana O í Aplicación pa a la ges ión y cali icación de ac i idades ECTS. En Ac as de las XIX Jo na- das de Enseñanza Uni e si a ia de la In o má ica, Cas ellón, 2013. [2] Se gio Ba achina Mi , Ma ibel Cas illo Ca alán, José M. Cla e Ibo a y Juan C. Fe nández Fe - nández. P ác icas de in oducción a la a qui ec u- a de compu ado es con el simulado SPIM. Pea - son Educación, 2013. [3] Se gio Ba achina Mi , Ma ibel Cas illo Ca a- lán, Ge mán Fab ega Llueca, Juan Ca los Fe - nández Fe nández, Ge mán León Na a o, Jo- sé Vicen e Ma í A ilés, Ra ael Mayo Gual y Raúl Mon oliu Colás. In oducción a la A - qui ec u a de Compu ado es con Q ARMSim y A duino. h p://lo ca.ac .uji.es/ book/p ac ARM/, 2014. [4] Se gio Ba achina Mi , Ge mán Fab ega Llue- ca, Juan Ca los Fe nández Fe nández y Ge mán León Na a o. ARMSim y Q ARMSim: simula- do de ARM pa a docencia. En Ac as de las XXI Jo nadas de Enseñanza Uni e si a ia de la In o - má ica, Ando a, 2015. [5] Alan Clemen s. Selec ing a p ocesso o ea- ching compu e a chi ec u e. En Mic op oces- so s and Mic osys ems, 23(5), 281-290. Else ie , 1999. [6] Alan Clemen s. ARMs o he poo : Selec ing a p ocesso o eaching compu e a chi ec u e. En F on ie s in Educa ion Con e ence (FIE), pp. T3E 1–6. IEEE, 2000. [7] Alan Clemen s. The unde g adua e cu iculum in compu e a chi ec u e. En IEEE Mic o, 20(3), 13–22. IEEE, 2000. [8] Pe e Jamieson. A duino o eaching embedded sys ems. A e compu e scien is s and enginee ing educa o s missing he boa ? In P oceedings o he 2010 In e na ional Con e ence on F on ie s in Educa ion: Compu e Science and Compu e En- ginee ing, 289–294, 2010. [9] Edu ne La aza-Mendiluze, Nés o Ga ay- Vi o ia, José I. Ma in, Ja ie Mugue za, Txelo Ruiz-Vazquez, I a xe So aluze, José F. Lukas y Ka los San iago, Game-Console-Based P ojec s o Lea ning he Compu e Inpu /Ou pu Subsys- em, IEEE T ansac ions on Educa ion, ol.56, no.4, 453–458, 2013. [10] Dan O’Sulli an y Tom Igoe. Physical Compu- ing: Sensing and Con olling he Physical Wo ld wi h Compu e s. Cou se Technology P ess, 2004. [11] Miguel Ángel Rubio, Ca olina Mañoso Hie o y Ángel Pé ez de Mad id y Pablo. Using A duino To Enhance Compu e P og amming Cou ses In Science And Enginee ing. In P oceedings o he EDULEARN13 Con e ence, pp. 5127–5133, Ba celona, 2013. [12] Miguel Ángel Rubio, Ca olina Mañoso Hie o, Rocío Rome o Zaliz y Ángel Pé ez de Mad id y Pablo. Uso de las pla a o mas LEGO y A duino en la enseñanza de la p og amación. En Ac as de las XX Jo nadas de Enseñanza Uni e si a ia de la In o má ica, O iedo, 2014. [13] Phillip To one. Why he A duino won and why i ’s he e o s ay. h p://makezine.com/ 2011/02/10/why- he-a duino-won- and-why-i s-he e- o-s ay/, eb e o 2011. Ac as de las XXI Jo nadas de la Enseñanza Uni e si a ia de la In o má ica Ando a La Vella, del 8 al 10 de julio 2015 ISBN: 978-99920-70-10-9 65