Home

G120 SoM User Manual

image

Contents

1. 20 SPI2_MISO No GPIO 21 SPI2_MOSI No GPIO 22 P1 12 SD_DAT3 PWM_5 23 P1 11 SD_DAT2 PWM_4 24 P1 7 SD_DAT 1 PWM_O 25 P1 2 SD_CLK PWM_3 26 P1 6 SD_DATO 27 GROUND Ground pin PWM_1 28 P1 3 SD_CMD 29 P0 5 CAN2_ TD 30 P0 4 CAN2 RD 31 P4 28 COM4 TXD 32 P4 29 COM4 RXD 33 P1 14 E RXER 34 P1 17 E MDIO Internal RMII interface 35 P1 16 E MDC is exposed but not 36 P1 15 E RXCLK supported 37 P1 9 E RXDO 38 P1 10 E RXD1 SPI3_ MISO 39 P1 4 E TXEN 40 P1 8 E CRS SPI3_MOSI 41 P1 1 TOUCH XR SPI3_SCK 42 P1 0 TOUCH YD 43 SWDCK Do not connect 44 SWDIO Do not connect 45 GROUND Ground pin 46 3 3V Power pin 47 P0 3 COM1 RXD 48 P0 2 COM1 TXD ANALOG _3 49 P0 26 ANALOG OUTPUT_0 Rev 0 10 Page 9 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual Pin Out Description ANALOG _1 50 P0 24 TOUCH_YU 51 P0 25 ANALOG_2 ANALOG_0 52 P0 23 TOUCH_XL 53 RESET Processor reset active low 54 P3 26 PWM_8 55 P0 13 ANALOG 7 56 P0 12 ANALOG _6 57 RTCX1 Real Time Clock crystal 58 RTCX2 Real Time Clock crystal 59 P1 30 ANALOG 4 The GHI Boot Loader will not function properly if this pin is low on power up 60 VBAT Real Time Clock battery 61 P0 28 I2C_SCL Open drain pin 62 P1 31 ANALOG_5 63 P0 27 I2C_SDA Open drain pin 64
2. G120 SoM User Manual Rev 0 10 March 20 2015 User Manual S Ea amp sHog 2 AER Ya M oih masy Sr muaf n u od c 9 u wu t LJ es o A A J ULL 99 7 P i e EEE as tea FV J G120 Module Top G120 Module Bottom Document Information Information Description Abstract This document covers information about the G120 Module specifications tutorials and references GHI Electronics _LLC G120 SoM User Manual Revision History Rev No Date Modification Rev 0 10 Corrected analog input again Rev 0 09 Corrected analog input resolution Rev 0 08 Corrected loader and firmware access interface Rev 0 07 Corrected CAN2 pins and added E_TXEN Rev 0 06 Added missing power and ground pins Rev 0 05 Pin and power description updates Rev 0 04 Preliminary version Hibernate power Rev 0 03 Preliminary version Minor sync with EMX edits Rev 0 10 Page 2 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual Table of Contents A ANTUOCUICU ON 45005 E E A EET 1 1 The NET Micro Framework 1 2 GHI Electronics and NETMP cicscsieesccassesschentcursesccdeessane 5 1 3 6120 Mod le Key Features nnrir 6 TA EXIMPSAppIC AION aa 6 2 Mhe Fa AW ANG ripara anA RE Ea 7 2 MLPC 1796 WC hOCOMiGel GM y rasa T e SDRAM cossen E R 7 2S FLAS Hias sak 3 Pin Out Descriptio M iis icsccicsssascranaccasesessascoweycasvianscraencccane
3. 255 255 255 0 192 168 1 0 enc EnableStaticDns new string 192 168 1 0 while hasAddress available Debug Print Initializing System Threading Thread Sleep 100 Network ready now static void NetworkChange NetworkAvailabilityChanged object sender NetworkAvailabilityEventArgs e Debug Print Network available e IsAvailable ToString available e IsAvailable static void NetworkChange NetworkAddressChanged object sender EventArgs e Debug Print The network address has changed hasAddress enc IPAddress 0 0 0 0 Rev 0 10 Page 53 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries This is available through the GHI Networking assembly Wireless LAN WiFi Any WiFi module with built in TCP IP stack can be used through NETMF which has many limitations however GHI Electronics adds support to WiFi internally through the NETMF s TCP IP and SSL stacks To utilize these libraries Redpine s RS9110 N 11 22 04 chip antenna or RS9110 N 11 22 05 uFL connector must be used The GHI Electronics drivers for this module allows for real Socket connection over WiFi This is not a simple WiFi Serial bridge commonly used on embedded systems RS9110 N 11 21 01 WiFi module This module from Redpine s Connect io n family is a complete IEEE 802 11bgn WiFi client device with a standard SPI interface to a host processor or data
4. a WA AEAN eisiea N OS 44 PAZ ONGAN E iniiao aaaeaii 45 T Gra a A 45 FONS aS A 47 E la e AE ca AE A A E E E E E 47 TOUCH SEGE RE 47 PAANISB HOSb ei vcesc cctecssectetcavcsuncvectescepanccecsbevaneascicstencs conctaced 48 7 15 Accessing Files and FolderS cccsececeeceeeteeeeeees 49 SDV MMC MOMO Y arser a pe REE SE 51 USR MaS SOA a eanaecseaeee eee 541 7 16 Secure Networking TOPAP rscroneninorinnraiiner 54 The EXTENSIONS ics ca d ccvetsncdscciveismcascheneapesncesecstiamcassiaeenncineads 51 MAG address Seting sii ssc sscscsocsanpiabearancnccssaasseaavescsssacenexa 51 IP address DHCP OF Statig is ccntasscsuessarsnesvessseataspesase aa cve EEE O eA ut pe cmnaeas vag Permepsareaenawee eae ANVINSLSSS LAN WWF Lis ves seais scacessvcavaranayediealp caeeceatareswastiainabeate RIPPE oaren ans 7 18 USB Client Device 7 19 Extended Weak References EWR ccsscsctccsceessses 57 17 20 Real Time GloCKisssisscccstesctencacstassiassesovanaccarserensawsvensanedea 57 TINANONG 59 TAL HP OV CONU Osea con snpednnin eaaendaneraecpnaimeameenana 59 LZSAREF ISI Update cs versccsiceisacscessnaseasverncevexepniaeeesareeaseapear seers 61 F 24 SQW ile Database cassis ccscesecesncsscsascaserccervcawessecteavcaces canseces 61 8 Advanced se of the MicrOproCeSSOr 200 ccicsccsssesessersescisssnsevenss 63 Gi De REJSEN iiaae aaan 63 8 amp 2 AGAKESSS PACE a5 sassncesapaisnsnsseerdesenarensentstnrcoronermeenaeaienenences 63 93 Bater RAM ieres eree
5. the GHI website Also the main support page for NETMF includes links to the library reference documentation NETMF APIs Because NETMF is a subset of the full NET platform services such as file input output and Networking are very close sometimes identical between the full NET Framework and the smaller NET Micro Framework The internet is a great source of NET examples code that often can be used in a NETMF program with no changes 7 2 Loading Assemblies In an earlier example the threading libraries were used This was done by identifying the namespace Via the statement using System Threading The compiled code for classes in the Threading library are part of the mscorlib assembly DLL Rev 0 10 Page 32 of 67 www GHlElectronics com G120 SoM User Manual GHI Electronics _LLC The Libraries To use other libraries the proper assembly file DLL must be added to the project Such as in adding the Microsoft SPOT Hardware to use a GPIO pin Assembly files used by a project are managed as References in Visual Studio Solution Explorer o Qa ia 2a Search Solution Explorer Ctrl 91 Solution MFConsoleApplication1 1 project a amp MFConsoleApplication1 b Properties 4a tal References Microsoft SPOT Native a m mscorlib b c Program cs b D Resources resx Important note The emulator will only work with the Microsoft assemblies GHI Electronics libraries w
6. E EENI DENER NTAN ENN NAPA ERES 63 gA EE IPRS OM sudo nn A inet panmee dear meatnes 64 8 5 Runtime Loadable Proc dure iccissccrscectvvnsscsesesisscesovancte 64 Didesign CONnSIMSKAlOM sic sccsscscsevesseccesrescsccncveecaycraceenratanedcneseaseeds 65 REQUIRE PINS nesusi 65 PMLS TUE Pi Suennen eraun i ERES 65 SPI CHANN E a 65 10 Soldering G120 Legal Notice lt Licensing siod nea EARE s DisclaiMef sisinsraynnronian tatni aaia iadnn G120 Module Page 3 of 67 www ghielectronics com GHI Electronics _LLC G120 SoM User Manual Introduction 1 Introduction The G120 Module is a powerful yet low cost surface mount System on Module SoM running the NET Micro Framework software which enables the SoM to be programmed from Microsoft s Visual Studio by simply using a USB cable Programming in a modern managed language such as C and Visual Basic allows developers to accomplish much more work in less time by taking advantage of the extensive built in libraries for networking file systems graphical interfaces and many peripherals A simple two layer circuit with just power and some connectors can utilize the G120 Module to bring the latest technologies to any products There are no additional licensing or fees and all the development tools and SDKs are provided freely 1 1 The NET Micro Framework Inspired by its full NET Framework Microsoft developed a lightweight version called NET Micro Framework NE
7. Host is what devices connect to This is like a PC where USB devices connect to A USB device can be a mouse or a memory stick The G120 has both interfaces USB Host and USB Client device Rev 0 10 Page 55 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries using System Threading using GHI Usb using GHI Usb Client using Microsoft SPOT using Microsoft SPOT Hardware UsbClient public class Program public static void Main Start keyboard Keyboard kb new Keyboard Debug Print Waiting to connect to PC Send Hello world every second while true Check if connected to PC if Controller State UsbController PortState Running We need shift down for capital H kb Press Key LeftShift kb Stroke Key H kb Release Key LeftShift Now ello world kb Stroke Key E kb Stroke Key L kb Stroke Key L kb Stroke Key 0 kb Stroke Key Space kb Stroke Key W kb Stroke Key 0 kb Stroke Key R kb Stroke Key L kb Stroke Key D The kb Press Key LeftShift kb Stroke Key D1 kb Release Key LeftShift Send an enter key kb Stroke Key Enter Thread Sleep 10 Q This is available through the GHI Usb along with the Microsoft SPOT Hardware Usb assemblies Rev 0 10 Page 56 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 19
8. LLC NET Micro Framework Visual Studio MFDeploy and Windows are registered or unregistered trademarks of Microsoft Corporation Other Trademarks and Registered Trademarks are Owned by their Respective Companies Rev 0 10 Page 67 of 67 www GHlElectronics com Mouser Electronics Authorized Distributor Click to View Pricing Inventory Delivery amp Lifecycle Information GHI Electronics G120H SM 388 G120B SM 373 COBRA2N SM 399
9. P3 25 PWM _7 65 P3 24 PWM_6 66 USB Device D 67 USB _Device_D 68 USB_Host_D 69 USB_Host_D 70 P2 21 71 P1 22 LCD_G2 72 P1 21 LCD_G1 73 P1 19 74 P1 23 LCD_G3 75 P1 24 LCD_G4 76 P1 20 LCD_GO 77 P1 25 LCD_G5 78 P1 26 LCD _B1 79 P1 28 LCD_B3 LCD_B4 80 P1 29 COM5_TXD 81 GROUND Ground pin 82 P1 27 LCD_B2 83 P2 13 LCD_BO 84 P2 12 LCD_RO Rev 0 10 Page 10 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual Pin Out Description PWM_ 11 85 P2 5 LCD_HSYNC 86 P2 2 LCD_CLK 87 P2 7 LCD_R2 LCD_R4 88 P2 9 COM5_RXD 89 P2 6 LCD R1 PWM_9 90 P2 3 LCD_VSYNC 91 P1 5 PWM_2 Rev 0 10 Page 11 of 67 www GHlElectronics com GHI Electronics LLC G120 SoM User Manual G120 on boot up 4 G120 On Boot Up Software run on the G120 Module is divided into different components The GHI Boot loader Initializes memories and executes TinyBooter It is also used to update TinyBooter TinyBooter does set up for and then loads the firmware TinyCLR NETMF core and GHI extensions It is also used to update the NETMF firmware and its system configurations TinyCLR and NETMF The firmware interprets and executes the managed application It is used for other functions such as loading and or debugging the managed application The managed application C Visual Basic developed by customers Optional Native RLP routines C and or assembly d
10. as Deployment Advanced G120_Gadgeteer is connected If TinyBooter needs to be updated do it before updating TinyCLR See Updating TinyBooter using FEZ Config NOTE TinyCLR can also be updated using In Field Update Rev 0 10 Page 20 of 67 www GHIElectronics com GHI Electronics LLC G120 SoM User Manual The GHI Boot Loader 5 4 TinyCLR firmware Update Using FEZ Config 1 Connect the G120 Module to the PC 2 Launch FEZ Config and click on Check device for update button This will show the version numbers on the PC and what is loaded on the G120 Module see picture above 3 To proceed with updating TinyCLR click on the Firmware Updater tab on the left and follow the instructions ic FEZ Config 3 Advanced About Connection Oyster ine me le Bee Rema 120 Gadgeteer Firmware Updater Version Network Configuration The device s firmware version 4 3 2 0 Firmware TinyCLR on this computer 4 3 2 0 LCD Configuration Deployment Advanced G120_Gadgeteer is connected Rev 0 10 Page 21 of 67 www GHIElectronics com GHI Electronics LLC G120 SoM User Manual The GHI Boot Loader 4 After FEZ Config selects the firmware and the default configuration files click Next Advanced About Connection Firmware Updater Network Configuration LCD Configuration Deployment Advanced FEZ Config Ee G120 Updater Select Firmware Files C Program Fies
11. embedded application For example a checksum or crypto procedure While it can be done on the managed side a native procedure will run a much faster RLP also provides extensions that allow the native procedure to hook back into some of the services available in the managed side like memory allocation RLP is very advanced and requires understanding of compilers and C Assembly programming It is documented in detail in the online documents and the reference guides Rev 0 10 Page 64 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual design Consideration 9 Design Consideration Required Pins The following pins are recommended to be exposed or noted in any design e G120 access interface Serial COM1 pins 47 48 USB Device pins 66 67 or both e MODE Pin 16 can be set to high or low high if left unconnected e LDRO pin 8 LDR1 pin 14 e P1_30 Pin 59 can t be low if the G120 Module is booted to the GHI Boot loader Interrupt Pins Only pins on ports 0 and 2 support interrupts SPI Channels SPI channel 2 is not available as GPIO and is internally shared with the G120 s FLASH memory Only SPI slave devices can be used on this SPI channel and only if the chip select pin is used on the connected slaves Consider using the other SPI channels instead Rev 0 10 Page 65 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual Soldering G120 10 Soldering G120 The G120 Module was des
12. files takes a little while Upon completion the firmware TinyCLR will execute Double check the version number to make sure the correct firmware is loaded Rev 0 10 Page 24 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The GHI Boot Loader 7 Loading new firmware will not erase the deployed managed application To erase the managed application click Erase Rev 0 10 Page 25 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual NETMF TinyCLR firmware 6 NETMF TinyCLR firmware The Firmware is the main piece of embedded software running on the G120 Module It is what interprets and runs the user s managed application and it is what Microsoft s Visual Studio uses to deploy hook into and debug the managed application As explained in The Loader and Firmware Debug Access Interface section hardware interfaces between TinyCLR and the host development system is either USB or Serial In this chapter the examples use the USB interface If necessary the module s firmware can be updated as described in the TinyBooter chapter 6 1 Assemblies Version Matching The firmware includes extensions added by GHI Electronics These extensions are often improved and further extended If the managed application C or Visual Basic uses any of the GHI specific extensions care must be taken when a new SDK is installed This is due to the fact that the existing Visual Studio projects will include a
13. source It integrates a MAC baseband processor RF transceiver with power amplifier a frequency reference an antenna and all WLAN protocol and configuration functionality in embedded firmware to provide a self contained 802 11bgn WLAN solution for a variety of applications It supports WPA WPA2 and WEP security modes in addition to open networks Create just like the ENC28 var wifi new GHI Networking WiFiRS9110 SPI SPI_module SPI1 G12 P1_17 chip select G12 P2_21 external interrupt G12 P1_14 reset change to target design Open and configure wifi Join ssid password Vey ere This is available through the GHI Networking assembly Rev 0 10 Page 54 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 17 PPP Point to Point PPP protocol is essential for devices needing to connect to mobile networks While typical embedded devices use the mobile modem s built in and very limited TCP IP stack systems with the G120 Module will enjoy the use of these modems through PPP and the internal NETMF TCP IP stack with SSL 7 18 USB Client Device The USB client interface is typically used as the G120 Debug Access Interface and for application deployment through Microsoft s Visual Studio However developers have control over the USB client interface For example the USB client can be made to simulate a USB keyboard or USB mass storage Tip USB
14. would be threading This is typically very difficult to deal with on embedded systems but thanks to NETMF this is very easy and works as well as it does on a desktop application using System using System Threading using Microsoft SPOT public class Program We will print a counter every 1 second static int Count 0 static void CounterThread while true Infinite loop Thread Sleep 100 Wait for 1 second Count Increment the count Debug Print Count Count Print the count FKK K K K K K OK KK K K K OK OK K K K K K OK K K K OK K K OK K KOK OK K OK OK K K K K K OK K K KKK K K static void Main Create a second thread main is automatically a thread Thread EasyThread new Thread CounterThread EasyThread Start Run the Counter Thread We can now do anything we like We will print Hi once every 2 seconds while true Infinite loop Debug Print Hi Thread Sleep 2000 Rev 0 10 Page 31 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries The output from the earlier program will look similar to this Hi Count Hi Count Count Hi Count Count Hi Count l pa I a 7 1 Finding NETMF Library Documentation While this user manual is not meant to be a tutorial on the use of NETMF a lot of details are provided to aid newcomers to NETMF For further details see the documentation library on
15. 0 300 330 Time sec Time sec RATE OF RAMP TO PROGRESS TO PEAK TIME ABOVE COOLDOWN PROFILE RISE 2 C 150 C THROUGH TEMP 230 C 217 C 425 F lt 4 C SEC LENGTH SEC MAX 302 F 150 C 175 C 245 C 445 F AMBIENT TO 302 F 347 F 474 F COOL DOWN Short Profiles lt 75 Sec 30 60 Sec 45 75 Sec 30 60 Sec 45 15 Sec 2 75 3 5 Min Long Profiles lt 90 Sec 60 90 Sec 45 75 Sec 60 90 Sec 45 15 Sec 4 5 5 0 Min Rev 0 10 Page 66 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual Legal Notice Legal Notice Licensing The G120 Module with all its built in software components is licensed for commercial and non commercial use No additional fee or licensing is required Disclaimer IN NO EVENT SHALL GHI ELECTRONICS LLC OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES LOSS OF USE DATA OR PROFITS OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT STRICT LIABILITY OR TORT INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS PRODUCT EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE SPECIFICATIONS ARE SUBJECT TO CHANGE WITHOUT ANY NOTICE GHI ELECTRONICS LLC LINE OF PRODUCTS ARE NOT DESIGNED FOR LIFE SUPPORT APPLICATIONS G120 is a Trademark of GHI Electronics
16. 16 first Unmount when done sdPS Unmount Rev 0 10 Page 50 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries SD MMC Memory SD and MMC memory cards have similar interfaces G120 supports both cards and also supports SDHC SDXC cards The interface runs through a true 4 bit SD interface SD cards are available in different sizes but they are all of an identical function making them all supported on the G120 Module USB Mass Storage USB mass storage devices such as USB hard drives or memory sticks are directly supported on G120 through the USB Host library 7 16 Secure Networking TCP IP Networking is a crucial part of today s embedded devices and the internet of things loT NETMEF includes a full TCP IP stack with socket support and high level protocols such as HTTP The G120 Module networking implementation supports media such as Ethernet WiFi and the use of PPP to support a large range of serial devices Adding on secure networking is accomplished with ease thanks to the included SSL support The Extensions The way networking works on NETMF is very similar to the full desktop NET Also the networking libraries work on the Microsoft NETMF emulator This allows for testing and developing right on the desktop through the emulator However GHI Electronics adds few important extensions to the system to initialize the networking interfaces For example applicati
17. 2 1 1 1 1 1 RealTimeClock SetDateTime DT if DT Year lt 2011 Debug Print Current Real time Clock RealTimeClock GetDateTime ToString This will set the clock to 9 30 00 on 9 15 2011 DT new DateTime 2011 9 15 7 30 0 RealTimeClock SetDateTime DT Debug Print New Real time Clock RealTimeClock GetDateTime ToString Debug Print Time is not resonable Tip The system time can also be set using time services through the internet Rev 0 10 Page 58 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 21 Watchdog Watchdog is used to reset the system if it enters an erroneous state The error can be due to internal fault or the user s managed code When the Watchdog is enabled with a specified timeout the user must keep resetting the Watchdog counter within this timeout interval or otherwise the system will reset Enable with 10 second timeout GHI Processor Watchdog Enable 10 1000 while true Do some work GHI Processor Watchdog ResetCounter 7 22 Power Control Embedded devices often must limit power usage as much as possible Devices may lower their power consumption in many ways 1 Reduce the processor clock 2 Shutdown the processor when system is idle keep peripherals and interrupts running 3 Shutdown specific peripherals 4 Hibernate the system A common way to wake a device is usin
18. 2CDevice 1I2CTransaction 2 byte RegisterNum new byte 1 2 xActions I2CDevice CreateWriteTransaction RegisterNum This is available through the Microsoft SPOT Hardware assembly Rev 0 10 Page 43 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 11 CAN Controller Area Network is a common interface in industrial control and automotive CAN is remarkably robust and works well in noisy environments All error checking and recovery methods are done automatically on the hardware TD Transmit Data and RD Receive Data are the only pins needed These pins carry out the digital signals that need to be converted to analog before it can be used There are different CAN transceivers The most common one is dual wire high speed transceivers capable of transferring data up to 1MBit second using System Threading using Microsoft SPOT Hardware using GHI I0 public class Program public static void Main ControllerAreaNetwork Message msg new ControllerAreaNetwork Message msg ArbitrationId 0x123 msg Data Q 1 msg Length 1 msg IsExtendedId false GHI 10 ControllerAreaNetwork can new ControllerAreaNetwork ControllerAreaNetwork Channel One ControllerAreaNetwork Speed Kbps5 can SendMessage msg UL wave This is available through the GHI Hardware assembly There are two CAN channels on the G120 Module Rev 0 10 Pa
19. 86 GHI Electronics GHI NETMF v4 3 SDK Fimwares G120 C Program Files 86 GHI Electronics GHI NETMF C Program Files amp 86 GHI Electronics GHI NETMF C Program Files amp 86 GHI Electronics GHI NETMF Friendly name G120_Gadgeteer is connected 5 If this dialog appears Click OK to proceed FEZ Config power to the board during operation If you are having issues with this application try connecting external OK Rev 0 10 Page 22 of 67 www GHIElectronics com GHI Electronics _LLC Advanced About Connection Firmware Updater Network Configuration LCD Configuration Deployment Advanced G120 SoM User Manual The GHI Boot Loader FEZ Config 4 G120 was updated successfully Firmware updated sucessfully Version 4 3 2 0 G120_Gadgeteer is connected 6 As the update occurs the steps and progress are shown When it is finished the module is ready to be flashed with NETMF applications 5 5 Firmware Update Using MFDeploy It is strongly recommended to use GHI Electronics FEZ Config tool for updating the G120 Module This section describes the use of MFDeploy to update the G120 firmware 1 Set the pins as described in Boot Mode Pins to enter TinyBooter This is optional as G120 will automatically switch to TinyBooter as necessary 2 Run MFDeploy and select USB or Serial from the Device list the available devices or COM ports appear i
20. Electronics com GHI Electronics LLC G120 SoM User Manual The GHI Boot Loader 5 3 TinyBooter TinyBooter has two functions 1 by default it executes the NETMF TinyCLR firmware 2 the other function of TinyBooter is to load new firmware TinyCLR Whenever GHI Electronics releases new firmwareTinyBooter is used to load it The G120 on boot up chapter provides the pin configuration required to choose an access interface and how to invoke TinyBooter When preparing to install new firmware it is important to make sure that the version of TinyBooter supports the new TinyCLR This is done using the Check for device update in FEZ Config Version numbers of both TinyBooter and TinyCLR are always listed in the current GHI Electronics SDK Release Notes Release Notes are installed with the SDK they may also be viewed online by following the GH SDK Library links to the SDK FEZ Config Advanced About Device Connection USB G120_Gadgeteer es E I o Firmware Updater Output Information Loader TinyBooter version information y 4 3 2 0 on this computer 0 on this devi 4 3 2 0 on this device Network gt gt gt The Loader TinyBooter is up to date lt lt lt Configuration _ Firmware TinyCLR version information 4 3 2 0 on this computer LCD 4 3 2 0 on this device s a gt gt gt The Fimware TinyCLR is up to date lt lt lt Configuration Please wait for the device to reboot EEE
21. Extended Weak References EWR EWR is a way for managed applications to store data on non volatile memory This is meant to be used as a configuration holder that does not change frequently The NETMF documentation includes further details A good example is included with the Microsoft NET Micro Framework SDK See also the Battery RAM section 7 20 Real Time Clock The LPC1788 processor includes a real time clock RTC that can operate while the processor is off through a backup battery or a super capacitor An appropriate 32 768KHz crystal must also be added to the system All details about power and required crystal can be found in the LCP1788 datasheet and user manual NETMF has its own time keeping that is independent from the real time clock If actual time is need the software should read the RTC and set the system s time Rev 0 10 Page 57 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries using System using GHI Processor using Microsoft SPOT public class Program public static void Main DateTime DT try DT RealTimeClock GetDateTime Debug Print Current Real time Clock DT ToString catch If the time is not good due to powerloss an exception will be thrown and a new time will need to be set Debug Print The date was bad and caused a bad time This will set a time for the Real time Clock clock to 1 01 01 on 1 1 2012 DT new DateTime 201
22. I Electronics _LLC G120 SoM User Manual NETMF TinyCLR firmware 6 3 Deploying to the G120 Module This section relies on the work done in the previous section as loading to the actual hardware device is exactly the same as loading to the emulator The only difference is in selecting the device instead of the emulator This is done by going to the project properties In this example the G120 Module is connected to the PC using the USB interface see Error Reference source not found section To deploy the application to the module select USB for Transport Running the application F5 key will load the exact same program on the G120 Module and then run it The output window of Visual Studio will still show very similar messages but they EDIT VIEW PROJECT BUILD DEBUG TEAM TOOLS TEST WINDOW HELI P ae gt Stat Debug Any CPU M Application s z Configuration Active Debug z Build eae Platform Active Any CPU 7 Debug gt Deployment Resources LL Tr it Reference Paths faiai EEA RERS tee Emulator Seria TCP IP are now coming from the G120 Module directly If necessary the deployed program can use the full power of the Visual Studio debugger including stepping through lines inspecting variables setting breakpoints etc Programming and debugging the G120 Module is this easy 6 4 Targeting Different Versions of the Framework There are times when it may be useful
23. P and Static IP are both supported If using dynamic IP the G120 will not obtain an IP lease at power up DHCP can only be enabled from software FEZ Config has a DHCP enable option but it has no effect on getting the IP lease on start up var enc new GHI Networking EthernetENC28J60 SPI SPI_module SPI1 G12 P1_17 chip select G12 P2_21 external interrupt G12 P1_14 reset change to target design enc EnableDhcp enc EnableDynamicDns This is available through the GHI Networking assembly Rev 0 10 Page 52 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries Ethernet The support for Ethernet is available through the ENC28J60 SPl ethernet chip using System using Microsoft SPOT Hardware using Microsoft SPOT using Microsoft SPOT Net using Microsoft SPOT Net NetworkInformation using GHI Pins using GHI Networking public class Program static EthernetENC28J60 enc static bool hasAddress false static bool available false public static void Main NetworkChange NetworkAvailabilityChanged NetworkChange_NetworkAvailabilityChanged NetworkChange NetworkAddressChanged NetworkChange_NetworkAddressChanged var enc new GHI Networking EthernetENC28J60 SPI SPI_module SPI1 G12 P1_17 chip select G12 P2_21 external interrupt G120 P1_14 reset change to target design enc Open enc EnableStaticIP 192 168 1 100
24. T Hardware assembly 7 5 PWM The available PWM pins have a built in hardware to control the ration of the pin being high vs low duty cycle A pin with duty cycle 0 5 will be high half the time and low the other half This is used to control how much energy is transferred out from a pin An example would be to dim an LED With output pins the LED can be on or off but with PWM it can be set to 0 1 duty cycle to give the LED only 10 of the energy using System using Microsoft SPOT using Microsoft SPOT Hardware public class Program public static void Main PWM LED new PWM Cpu PWMChannel PWM_2 10000 0 10 false LED Start Rev 0 10 Page 38 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries This is available through the the Microsoft SPOT Hardware PWM assembly Some PWM pin channels can exceed the available enumerations in NETMF Casting can be done to set the channel number is shown using System using Microsoft SPOT using Microsoft SPOT Hardware public class Program public static void Main PWM LED new PWM Cpu PWMChannel 9 10000 10 false LED Start Another use of PWM is to generate tones In this case the duty cycle is typically set to 0 5 but then the frequency will be changed as desired In the case of servo motor control or when there is a need to generate a pulse at a very specific timing PWM provides a way
25. TMF NETMF focuses on the specific requirements of resource constrained embedded systems Development debugging and deployment is conveniently performed using Microsoft s powerful Visual Studio tools all through standard USB cable Programming is done in C or Visual Basic This includes libraries to cover sockets for networking modern memory management with garbage collector and multitasking services In addition to supporting standard NET features NETMF has embedded extensions supporting e General Purpose IO GPIO with interrupt handling e Analog input output e Standard buses such I2C SPI USB Serial UART e PWM e Networking e File System e Display graphics supporting images fonts and controls Rev 0 10 Page 4 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual Introduction 1 2 GHI Electronics and NETMF For years GHI Electronics has been the lead Microsoft partner on NET Micro Framework NETMF The core NETMF was also extended with new exclusive libraries for an additional functionality such as database USB Host and WiFi One of the important extensions by GHI Electronics is Runtime Loadable Procedures RLP allowing native code Assembly C to be compiled and loaded right from withing managed code C Visual Basic to handle time critical and processor intensive tasks IT can also be used to add new native extensions to the system As for networking WiFi and PPP libraries are ad
26. TMF TinyCLR Rev 0 10 Page 13 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The GHI Boot Loader 5 The GHI Boot Loader The G120 Boot Loader software is pre loaded and locked on the G120 Module It is used to update TinyBooter and can be used to do a complete erase all flash memory The GHI boot loader is rarely needed but it is recommended to keep access available in all project designs The GHI boot loader accepts simple commands sent with the help of a terminal service software such as TeraTerm or Hyper Terminal Acommand character is sent and the boot loader performs an action results are returned in a human friendly format followed by a BL indicating that the boot loader is ready for the next command All commands and responses use ASCII encoded characters The G120 on boot up section provides the required information on how to choose the access interface and how to access the GHI boot loader 5 1 The Commands Command Description Notes V Returns the GHI Loader Format X XX version number e g 1 06 E Erases the Flash memory Confirm erase by sending Y or any other character to abort This command erases TinyBooter the G120 firmware and the user s application X Loads the new Updating TinyBooter section explains this command process in more TinyBooter file detail R Runs firmware Exits the GHI boot loader mode and runs TinyBooter B Changes the baud rate to Us
27. ad and write memory directly This code reads a byte from address 0xA0000000 GHI Processor AddressSpace Read xAQ00008 8 3 Battery RAM On the same power domain as the RTC Real Time Clock there are 20 Bytes 5 x 4 byte of RAM The data on this RAM is retained on power loss as it is powered through the backup battery used by the RTC An appropiate 32 768Khz crystal is needed along with a battery or a super capacitor attached to the VBAT pin The LPC1788 datasheet from NXP includes full details on the crystal and VBAT pin The register class can be used to read and write to baterry RAM As explained in the datasheet this special RAM can only be accessed as words not as bytes all reads and writes must be for 4 bytes Rev 0 10 Page 63 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual Advanced use of the Microprocessor For reference these are GPREGO 0x4002 4044 GPREG1 0x4002 4048 GPREG2 0x4002 404C GPREG3 0x4002 4050 GPREG4 0x4002 4054 8 4 EEPROM The processor s built in EEPROM can be accessed through the register class There is a driver provided by one of the G120 Module users it can be downloaded from the codeshare repository a large browsable library 8 5 Runtime Loadable Procedure Similar to code loaded by using a DLL Dynamic Link Library RLP Runtime Loadable Procedure allows compiled assembly code perhaps from C C to be loaded and run from the
28. al communications parameters are 152000 baud 8 bit data with one stop bit and no parity Rev 0 10 Page 17 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The GHI Boot Loader Loading using XMODEM The GHI boot loader uses the XMODEM protocol to receive the TinyBooter file In this example a serial program running on a PC is used to show the transfer Once the appropriate serial port on the PC is opened a user can start sending commands such as entering V to see the boot loader version number Loading new firmware is simple but it requires a terminal that supports XMODEM file transfer XMODEM has many versions GHI boot loader requires e 1K transfers e 16Bit CRC error checking Instructions for updating TinyBooter commands are case sensitive 1 Boot the G120 using the Pin configuration described in the Boot Mode Pins section to start the Boot loader s command control interface Access the boot loader using TeraTerm or other terminal program 2 To confirm the GHI boot loader is active and responding enter V to see the version number The data sent to the GHI boot loader is not echoed to the sender This means that no V will appear on the terminal the boot loader will transmit the version number followed by BL which is an indication it is ready to receive another command 3 Erase the flash memory using E command then press Y to confirm this will take several seconds 4 Initiate tra
29. are 320x240 QVGA or larger For developers wanting to connect VGA or HDMI monitors a simple circuit is still needed to convert the 16Bit digital signals to analog RGB colors such as Chrontel s CH7025 With the G120 graphics support users can leverage the NETMF graphics features such as e Windows Presentation Foundation WPF e BMP GIF still and JPEG image files e Fonts e Simple Shapes This simple example will run on the emulator and on the G120 Module similarly It requires the Microsoft SPOT Graphics and Microsoft SPOT TinyCore using System Threading using Microsoft SPOT using Microsoft SPOT Hardware using Microsoft SPOT Presentation using Microsoft SPOT Presentation Media public class Program public static void Main Bitmap LCD new Bitmap SystemMetrics ScreenWidth SystemMetrics ScreenHeight byte red int x while true for x 30 x lt SystemMetrics ScreenWidth 30 x 10 LCD DrawEllipse ColorUtility ColorFromRGB red 10 10 x 100 30 40 LCD Flush red 3 Thread Sleep 10 Rev 0 10 Page 46 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries Fonts Thanks to NETMF developers can convert TrueType font files to the TinyFNT format used on NETMF The end results will look professionally stunning Glide GHI Electronics has developed a high speed lightweight full featured graphics GUI framework cal
30. asy If not installed yet the latest SDK should be downloaded and installed on the development machine The following link points to a page on the GHI Electronics website that shows what software components are necessary to install along with the latest SDK www ghielectronics com support netmf When done Visual Studio can be started to create a new Micro Framework project Console Application b Recent 4 Installed 4 Templates b Visual Basic 4 Visual C Windows Gadgeteer Micro Framework Test Sort by Default g Class Library E l Console Application T Device Emulator gi Window Application Visual C Visual C Visual C Visual C Search Installed Templates Ctrl E P Type Visual C A project for creating a NET Micro Framework application without a user interface b Visual C Visual Studio Solutions Samples gt Online Name MFConsoleApplication1 Location C Users GHI Developer Desktop jefftemp bf Browse Create directory for solution L OK Cancel Solution name MFConsoleApplication1 C is selected in this example but Visual Basic will be very similar Run the code as is by pressing F5 or clicking the start button This should open up the emulator and run the program This program prints Hello World on the output window not on the screen If the output window is not visible it can be opened from the VIEW top menu When running the emulator ha
31. ch as words it plays the role of a networking settings virtual machine Emergency use or when GHI releases a new TinyBooter Pre burned into the G120 Module s flash memory Can t be updated Controlled through simple text commands and X modem Any terminal such as teraterm or hyper terminal can be used Sometimes used Always used Replaceable using the GHI Replaceable under control of Boot Loader TinyBooter Runs the user application and Controlled through MFDeploy accepts commands from or FEZ Config tools Visual Studio for debugging purposes When applying updates the lowest level software should be updated first For example if both the firmware TinyCLR and TinyBooter need updates TinyBooter should be updated first 4 3 The Loader and Firmware Debug Access Interface The communication between a PC and the G120 Module can be done using a USB port or a serial port COM This interface can be used for updating deploying or debugging the software components The MODE Pin is used to select USB vs serial When the pin is high or left floating internal weak pull up resistor the system will run in USB mode When the pin is low serial mode is used over COM1 on the G120 Module When USB is selected the drivers needed on the PC are included in the GHI SDK Two different drivers are available The first one is a virtual COM driver used by the GHI loader The second one is used by TinyBooter and NE
32. ded by GHI Electronics to the NETMF core Combined with Ethernet and the other managed services it is a complete toolbox for the internet of things All the mentioned features are loaded and tested on the G120 Module GHI Electronics continuously maintains upgrades and solves any of the issues on the G120 Module firmware to provide regular and free releases Users can simply load the new software on the G120 Module using USB or Serial and even use the in field update feature This feature allows the upgrade to be done through any of the available interface including file system and networking Rev 0 10 Page 5 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual 1 3 G120 Module Key Features A NET Micro Framework 120 MHz ARM Cortex M3 processor 16 MB RAM 4 MB FLASH Embedded LCD controller 72 GPIO Pins 43 Interrupt Inputs 2 SPI I2C 4 UART 2 CAN Channels 8 12 Bit Analog Input 10 Bit Analog Output 4Bit SD MMC Memory card interface 12 PWM 160 mA max 18 mA Hibernate Mode 40 C to 85 C Operational RoHS Lead Free Dimensions 26 67 mm x 38 1 mm Example Applications Vending machines POS Terminals Measurement tools and testers Networked sensors Robotics Central alarm system Smart appliances Industrial automation devices Introduction TCP IP Stack NET sockets SSL secure networking WiFi PPP USB Host Graphics image font and controls SQLite databa
33. eed to mount the media and also in the media names The easiest way to know and handle the media names is by obtaining the root directly name and dynamically using that name This is available through the GHI Hardware assembly for SD or USB media also required assemblies for the file system functions System IO and Microsoft SPOT IO Rev 0 10 Page 49 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries using System using System IO using Microsoft SPOT using Microsoft SPOT IO using GHI IO Storage class Program public static void Main II wes SD Card is inserted Create a new storage device SD sdPS new SDCard Mount the file system sdPS Mount Assume one storage device is available access it through NETMF and display the available files and folders Debug Print Getting files and folders if VolumeInfo GetVolumes IsFormatted string rootDirectory VolumeInfo GetVolumes RootDirectory string files Directory GetFiles rootDirectory string folders Directory GetDirectories rootDirectory Debug Print Files available on rootDirectory for int i i lt files Length i Debug Print files i Debug Print Folders available on rootDirectory for int i i lt folders Length i Debug Print folders i else Debug Print Storage is not formatted Format on PC with FAT32 FAT
34. ends most its time a in a lower power state Note Only pins on port 0 and port 2 are interrupt capable using System using System Threading using Microsoft SPOT using Microsoft SPOT Hardware using GHI Pins public class Program public static OutputPort LED new OutputPort G12 P _17 true public static void Main InterruptPort Button new InterruptPort G120 P _22 true Port ResistorMode PullUp Port InterruptMode InterruptEdgeBoth Button OnInterrupt Button_OnInterrupt The system can do anything here even sleep Thread Sleep Timeout Infinite static void Button_OnInterrupt uint port uint state DateTime time LED Write state gt Rev 0 10 Page 37 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 4 Analog Inputs Outputs Analog inputs can read voltages from OV to 3 3V with a 12 Bit resolution Similarly the analog output can set the pin voltage from OV to 3 3V VCC to be exact with 10 Bit resolution These built in analog circuitry are not designed to be very accurate For high accuracy an external ADC can be added using the SPI bus perhaps using System using Microsoft SPOT using Microsoft SPOT Hardware public class Program public static void Main AnalogInput ain new AnalogInput Cpu AnalogChannel ANALOG 6 Debug Print Analog Pin ain Read This is available through the Microsoft SPO
35. er needs to change the baud rate on the terminal service 921600 accordingly Available on serial access interface only Notes e Commands are not followed by pressing the ENTER key The single command letter is sent to the G120 Module which immediately begins executing the command e The Boot loader commands are case sensitive 5 2 Updating TinyBooter GHI Electronics SDK includes FEZ Config a Windows program that can be used to update all software components of the G120 Module as well as system settings configuration parameters Although FEZ Config is recommended as the tool to use the same process can be performed manually using an ASCII terminal program The next section shows how use GHI s FEZ Config The manual procedure is described in Updating TinyBooter Manually Rev 0 10 Page 14 of 67 www GHIElectronics com GHI Electronics LLC G120 SoM User Manual The GHI Boot Loader Updating TinyBooter using FEZ Config The following procedures images are from version 2 0 2 0 of FEZ Config running on Windows 8 01 The images may vary with other versions The first step is to interface the G120 with the PC This is best done using the USB pins and the appropriate cable Once Windows loads the appropriate driver t amp amp gt Control Panel All Control Panel Items Devices and Printers Add a device Add a printer ayruv poy 4 Printers 4 Brother Fax HP ePrint Microsoft XPS HL 5450DN series Docu
36. escribed in the Runtime Loadable Procedure section If the boot mode pins LDRO and LDR are left floating internal pull up or pulled high externally the default boot up sequence executes as the following 4 1 Defa The GHI boot loader initializes Flash and RAM memory and looks for a valid TinyBooter and passes execution to it TinyBooter prepares the G120 hardware resources required by the NETMF Core environment and passes execution to NETMF TinyCLR If a valid end user embedded application exists it gets executed Boot Mode Pins ult start up execution can be changed using two control pins they are active low and have internal weak pull up resistors Ignored High Default execute all levels High kaw Execute the Boot Loader and TinyBooter but do not execute NETMF TinyCLR Execute Boot Loader but do not execute TinyBooter Low Low Rev 0 10 Page 12 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual G120 on boot up 4 2 GHI Boot Loader vs TinyBooter vs G120 Firmware NETMF TinyCLR The table below gives greater detail of the characteristics of each level of execution GHI Boot Loader TinyBooter NETME TinyCLR firmware Used to update the G120 Used to deploy execute and Used to update G120 firmware NETMF TinyCLR debug the managed NETMF TinyBooter or for low level and to update system application code In other G120 flash maintenance configurations su
37. g the RTC alarm Whenever the alarm goes off it will wake the device These examples require the GHI Hardware and Microsoft SPOT Hardware assemblies Use Microsoft SPOT Hardware HardwareEvent OEMReserved2 for RTC alarm When the program starts it will set an RTC alarm for 30 seconds in the future and then hibernate until then Rev 0 10 Page 59 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries using GHI Processor using Microsoft SPOT Hardware using System public class Program public static void Main RealTimeClock SetAlarm DateTime Now AddSeconds 3 PowerState Sleep SleepLevel DeepSleep HardwareEvent OEMReserved2 Continue on with your program here The device will awaken whenever an interrupt port is triggered Some devices can use interrupts internally that can cause spurious wakeups if not disabled Use Microsoft SPOT Hardware HardwareEvent OEMReserved1 for interrupts NETMEF s interrupt ports only function when their glitch filter is enabled or they have an event handler subscribed using Microsoft SPOT Hardware using System public class Program public static void Main var interrupt new InterruptPort Cpu Pin GPIO_Pin 0 true Port ResistorMode PullUp Port InterruptMode InterruptEdgeHigh interrupt OnInterrupt interrupt_OnInterrupt PowerState Sleep SleepLevel DeepSleep HardwareEvent OEMReserved1 Continue on with your p
38. ge 44 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 12 One wire Through one wire a master can communicate with multiple slaves using a single digital pin One wire can be activated on any Digital I O on G120 using System Threading using Microsoft SPOT using Microsoft SPOT Hardware public class Program public static void Main Change this to correct GPI pin for the onewire used in the project OutputPort myPin new OutputPort GHI Pins G120 P2_0 false OneWire ow new OneWire myPin while true if ow TouchReset gt Debug Print Device is detected else Debug Print Device is not detected Thread Sleep 100e This is available through the Microsoft SPOT Hardware OneWire 7 13 Graphics The G120 Module supports 16 Bit color TFT displays Developers can use almost any digital TFT display up to 800x600 This is accomplished by connecting HSYNC VSYNC CLK ENABLE and 16Bit color lines The color format is 5 6 5 5Bits for red 6Bits for green and 5Bits for blue If the display has more than 16Bits connect the MSB high Bits to G120 and the extra LSB low Bits to ground Rev 0 10 Page 45 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries SPl based displays can be utilized as well but using the native TFT interface allows for a better user experience especially when displays
39. igned to be easily machine placed and hand soldered Static sensitive precautions should take place when handling the modules G120 Modules are not sealed for moisture it is recommended to bake the module before reflow The process of reflow can damage the G120 Module if the temperature is too high or exposure is too long This lead free reflow is used by GHI Electronics when machine placing the G120 Module NOTE The profiles shown are based on SAC 305 solder 3 silver 0 5 copper The thermal mass of the assembled board and the sensitivity of the components on it affect the total dwell time Differences in the two profiles are where they reach their respective peak temperatures as well as the time above liquids TAL The shorter profile of the two would apply to smaller assemblies where as the longer profile would apply to larger assemblies such as back planes or high density boards The process window is described by the shaded area These profiles are starting points mainly guidance the particulars of an oven and the assembly will determine the final process SAC305 Reflow Profile Window For Low Density Boards AC305 Reflow Profile Window For High Density Boards 4 I SS 4 00 sie SR 2a esa Temperture C 0 30 60 90 120 150 180 210 240 270 300 0 30 60 90 120 150 130 210 240 27
40. ill not run on the emulator Rev 0 10 Page 33 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 3 Digital Inputs Outputs GPIO General Purpose Input Output are used to set a specific pin high or low states when the pin is used as an output On the other hand when the pin is an input the pin can be used to detect a high or low state on the pin High means there is voltage on the pin which is referred to as true in programming Low means there is no voltage on the pin which is referred to as false Pins can also be enabled with an internal weak pull up or pull down resistor Here is a blink LED example using System using System Threading using Microsoft SPOT Hardware public class Program public static void Main OutputPort LED new OutputPort Cpu Pin GPIO_Pin true while true LED Write true Thread Sleep 5e LED Write false Thread Sleep 5 This is available through the Microsoft SPOT Hardware assembly Rev 0 10 Page 34 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries While it is clear that the earlier example blinks an LED every one second on for 500ms and off for another 500ms it is not clear what pin on G120 will be controlled Instead of using the generic GPIO_PinO name the actual G120 name can be found in the GHI Pins assembly This example now uses the actual G120 pi
41. led Glide The open source code is available with the Apache 2 license This allows for a commercial and non commercial use For convenience the compiled libraries are included with GHI s SDK This is the recommended method for graphics on the G120 Module Glide includes a window designer as well https www ghielectronics com glide Contained in the GHI Glide assembly Touch Screen G120 Module supports displays with a four wire resistive touch screen without the need for any additional hardware However the use of other touch displays can be supported by adding the appropriate controller typically on the SPI bus Refer to the Pin Out Description chapter for more information about touch screen signals YU YD XL XR assignments to G120 hardware pins GHI Electronics open source graphics library Glide is a good place to learn about touch handling if direct handling is necessary Rev 0 10 Page 47 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 14 USB Host The USB Host allows the use of USB Hubs USB storage devices joysticks keyboards mice printers and more Additionally for USB devices that do not have a standard class low level raw USB access is provided for bulk transfers using System Threading using GHI Usb Host using GHI Usb using Microsoft SPOT public class Program static Mouse mouse public static void Main Subscribe to USBH event Controlle
42. local copy of the assemblies supplied by the old SDK during compilation of the application the extensions may not match what is found Additionally the assemblies themselves are compiled for use with specific SDK versions For example where an application was previously compiled with 4 2 then the 4 3 SDK is installed even if a successful compilation occurs no extension conflicts were found then the deployment process will begin to load 4 2 assemblies this will cause loading errors when compiling for 4 3 This will not harm the G120 Module Visual Studio s Output panel will contain something like CIEE Object Browser y Show output from Build E2 Z 1 gt Build started Project MFConsoleApplicationl Configuration Debug Any CPU a 1 gt C Program Files x86 MSBuild Microsoft NET Micro Framework v4 3 Device targets 561 5 warning Could not read state file obj Debug TinyResGen cache Unable to find assembly Microsoft SPOT Tasks Version 4 2 Culture neutral PublicKeyToken 267 f5421e7 4192 there is further discussions of assemblies in the Loading Assemblies section of chapter 7 Rev 0 10 Page 26 of 67 www GHlElectronics com G120 SoM User Manual NETMF TinyCLR firmware GHI Electronics _LLC 6 2 Deploying to the Emulator Once the latest SDK is installed and the G120 Module is loaded with the latest TinyBooter and NETMF TinyCLR using Visual Studio to load debug C and Visual Basic application is very e
43. ment Writer Printer 4 Unspecified 1 J G120 Launch FEZ Config Under Device make sure USB is selected and G120 is the device Now follow the menu Advanced gt Loader TinyBooter Update gt G12 Module Advanced About Loader TinyBooter Update gt EMX FEZ Cobra Flash Sector Map Alt F FEZ Spider Device Capabilities Alt D G120 FEZ Cobra Il Check device for update Ping Reboot CLR AlteR pom Other Devices Connect Disconnect D De Advanced Clear G120_G120 is connected Rev 0 10 Page 15 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The GHI Boot Loader FEZ Config o E Advanced About G120 Updater Connection Connection Connect the device to the PC Firmware Updater Set these pins P2 10 P0 22 to LOW On FEZ Cobra Il Push LDRO and LDR1 buttons Reset the device Set these pins P2 10 P0 22 to HIGH Network Configuration On FEZ Cobra II Release LDRO and LDR1 buttons I tor TTP Eee td ae LCD TinyBooter file D q Configuration C Program Files 86 GHI Electronics GHI NETMF v4 3 SDK Fimw 3 SINNNNNHNNNNNNH 99 ag G59 te Deployment Advanced G120_G120 is connected Follow the directions and leave any fields and buttons at their default state Click on Next Rev 0 10 Page 16 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The GHI Boot Loader FEZ C
44. mes i object obj String row for int j j lt result RowCount j row j ToString 3 for int i i lt result ColumnCount i obj result j i row N A else row obj ToString row t Debug Print row myDatabase Dispose This requires the GHI SQLite assembly Rev 0 10 Page 62 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual Advanced use of the Microprocessor 8 Advanced Use Of The Microprocessor The G120 Module is based on the NXP LPC1788 microcontroller There are times when direct programming is needed GHI has extended NETMF to allow assembly level access from managed code to the LPC1788 This chapter describes those features Important All examples in this chapter use the GHI Hardware assembly add it to References in Visual Studio see the Loading Assemblies section 8 1 Register This class is used for manipulating the processor registers directly For example the SDRAM on the G120 Module runs at 6OMhz While this exceeds the limitation listed in the processor datasheet GHI tested SDRAM at 120Mhz and the G120 Module worked flawlessly at room temperature This code shows how this is done var EMCCLKSEL new GHI Processor Register x4Q FC1 EMCCLKSEL ClearBits 1 lt lt OVERDRIVE EMCCLKSEL SetBits 1 lt lt NORMAL 8 2 AddressSpace Allows applications to re
45. n name using the GHI Pins assembly using System using System Threading using Microsoft SPOT using Microsoft SPOT Hardware using GHI Pins public class Program public static void Main OutputPort LED new OutputPort G120 P _17 true while true LED Write true Thread Sleep 5 LED Write false Thread Sleep 5 Rev 0 10 Page 35 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries Reading Input pins is as simple This example will blink an LED only when the button is pressed using System using System Threading using Microsoft SPOT using Microsoft SPOT Hardware using GHI Pins public class Program public static void Main OutputPort LED new OutputPort G12 P _17 true InputPort Button new InputPort G120 P _22 false Port ResistorMode PullUp while true if Button Read true LED Write true Thread Sleep 5 LED Write false Thread Sleep 5e Note The glitch filter feature is only available on interrupt capable pins any pin on port O or port 2 Rev 0 10 Page 36 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries Interrupt Pins The beauty of modern and managed language shines with the use of events and threading This example will set a pin high when a button is pressed It should be noted here that the system in this example sp
46. n the drop down list 3 Check the communication between MFDeploy by pressing Ping the output window should contain Pinging TinyBooter or Pinging TinyCLR Rev 0 10 Page 23 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The GHI Boot Loader Target Options Plug in Help Device USB v G120_G120 Certificate NetMFDeviceCert pfx Password Image File v Browse Deploy Name Base Address Size Time Stamp Pinging TinyBooter 4 Add the G120 firmware files to MFDeploy s Image File by clicking on Browse next to the Image File text box The firmware files can be found under GHI Electronics in the Programs x86 folder inside the directory that corresponds to the SDK being used go to firmwares G120 Select all of the firmware hex files at once ThisPC OS C Program Files x86 GHI Electronics GHI NETMF v4 2 SDK Firmwares G120 A A Name Date modified Type Size L Config hex 2 4 2014 10 04AM HEX File 7 KB _ Config sig 2 4 2014 10 04 AM SIG File 1 KB Firmware hex 2 4 2014 10 04AM HEX File _ Firmware sig 2 4 2014 10 04 AM SIG File 1KB Firmware2 hex 2 4 2014 10 04AM HEX File _ Firmware2 sig 2 4 2014 10 04 AM SIG File 1KB _ Loader ghi 2 4 2014 10 04 AM GHI File 47 KB 2r pc 5 Start deploying the firmware by pressing Deploy Loading the
47. nks to GHI Electronics efforts SQLite is part of the G120 Module s built in libraries The SQLite website include further details and documentation http www sqlite org using System using System Collections using Microsoft SPOT using GHI SQLite public class Program public static void Main Create a database in memory file system is possible however Database myDatabase new GHI SQLite Database myDatabase ExecuteNonQuery CREATE Table Temperature Room TEXT Time INTEGER Value DOUBLE add rows to table myDatabase ExecuteNonQuery INSERT INTO Temperature Room Time Value VALUES Kitchen 010000 4423 myDatabase ExecuteNonQuery INSERT INTO Temperature Room Time Value VALUES Living Room 053000 9300 myDatabase ExecuteNonQuery INSERT INTO Temperature Room Time Value VALUES bed room 060701 7200 Rev 0 10 Page 61 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries Process SQL query and save returned records in SQLiteDataTable ResultSet result myDatabase ExecuteQuery SELECT FROM Temperature Get a copy of columns orign names example String origin_names result ColumnNames Get a copy of table data example ArrayList tabledata result Data String fields Fields for int i i lt result RowCount i Debug Print fields fields result ColumnNa
48. nsfer by typing X this tells the Boot loader to wait for the transmission of data from the terminal program After the X command is entered the GHI Boot loader will start sending back the C character continuously This C is an indicator that tells XMODEM a device is waiting for data Once the C character appears on the terminal window select XMODEM transfer and point the software to the firmware file Loader ghi as shown below SS oe 61 ce tart File Transfer cccccccccccccccccccccccccccccc If using TeraTerm In the menu select File gt Transfer gt XMODEM gt Send Rev 0 10 Page 18 of 67 www GHlElectronics com GHI Electronics LLC G120 SoM User Manual The GHI Boot Loader Next select the file containing TinyBooter Loader ghi from the C Program Files x86 GHI Electronics folder make sure to use the Loader ghi file specified under a G120 subfolder and make sure to select the 1K option in TeraTerm Look in J G120 vi e m Name Date modified _ Firmware hex 6 23 2014 9 47 AM _ Firmware sig 6 23 2014 9 47 AM _ Firmware2 hex 6 23 2014 9 47 AM _ Firmware2 sig 6 23 2014 9 47 AM _ Loader ghi 6 18 2014 10 23AM lt File name Loader ghi Files of type Alll Option Checksum Ocrc ik Updating the firmware may take a few seconds Once loading has finished Exit the terminal program and reset the G120 Module Rev 0 10 Page 19 of 67 www GHl
49. onfig Advanced About G120 Updater Connection Select Firmware Files C Program Files 86 GHI Electronics GHI NETMF v4 3 SDK Fimwares G120 Firmware Updater C Program Files 86 GHI Electronics GHI NETMF Network C Program Files x86 GHI Electronics GHI NETMF Configuration C Program Files amp 86 GHI Electronics GHI NETMF LCD Configuration Deployment Advanced Friendly name E Skip waming messages Back Status No device Leave all defaults and click on Next Answer any dialog questions The program will flash the module and display it s progress Updating TinyBooter Manually As stated earlier FEZ Config is the recommended tool for updating TinyBooter on the module This section describes a manual process The only advantage of performing flashing this way is that it allows updates from any device with a serial connection independent of operating system Depending on the state of the MODE Pin see the The Loader and Firmware Debug Access Interface section the GHI boot loader will use the USB or the serial interface When using USB it requires a virtual serial interface driver on the USB Host For Windows this means the GHI boot loader on the G120 Module will appear as a serial device in either case It should be noted that the serial pins on G120 are TTL level so an RS232 level converter is needed to wire the serial pins to a PC s serial port Seri
50. ons that do not use networking can still use the G120 Module as it defaults with networking services disabled Programmatically developers can choose to add Ethernet or WiFi for example These additions are typically only needed in the initialization and setup stage and these can t be used on the emulator If using the emulator is desired the few initialization lines can be commented out MAC address setting All G120 Modules ship with the same default MAC address This is good for testing a single device on internal networks If using multiple devices or reaching the internet a proper MAC address must be set To set the MAC address FEZ Config can be used Also the G120 Module can set its own MAC through software Rev 0 10 Page 51 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries byte newMAC new byte x x1A xF1 x 1 0x42 OxDD var enc new GHI Networking EthernetENC28J60 SPI SPI_module SPI1 G12 P1_17 chip select G12 P2_21 external interrupt G12 P1_14 reset change to target design enc PhysicalAddress newMAC This is available through the GHI Networking assembly There is no need to set the MAC address when using WiFi as the system obtains the MAC from the WiFi module itself Tip Some MAC addresses are not legal The internet includes MAC address generators that can be used in testing IP address DHCP or static DHCP dynamic I
51. r DeviceConnected Controller_DeviceConnected Sleep forever Thread Sleep Timeout Infinite static void Controller_DeviceConnected object sender Controller DeviceConnectedEventArgs e if e Device Type Device DeviceType Mouse Debug Print Mouse Connected mouse new Mouse e Device mouse CursorMoved mouse_CursorMoved mouse ButtonChanged mouse_ButtonChanged static void mouse_CursorMoved Mouse sender Mouse CursorMovedEventArgs e Debug Print x y e NewPosition X e NewPosition Y This is available through the GHI Usb and GHI Hardware assemblies Rev 0 10 Page 48 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 15 Accessing Files and Folders The File System feature in NETMF is near very similar to the full NET and can be tested from within the Microsoft NETMF emulator with minor changes Changes include removing any of the GHI library dependencies There are no limits on file sizes and counts beside the limits of the FAT file system itself NETMF supports FAT16 and FAT32 Files are made accessible on SD cards and on USB memory devices through the USB Host library Most online examples on how to use NET to access files on PCs can be used to read and write files on the G120 Module The GHI Electronics online documentation has further examples as well The only difference from a the full NET on the PC would be in the n
52. rogram here private static void interrupt_OnInterrupt uint data1 uint data2 DateTime time Interrupted Rev 0 10 Page 60 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 23 In Field Update The In field update feature allows the G120 Module to update itself This powerful feature and very flexible feature is very simple to use The managed application or even the TinyCLR NETMF firmware can be updated When need this feature basically allocates a large memory buffer to hold the new software in RAM The new software can be obtained from any source It can be loaded from the network from a file on a USB memory or SD card and even from a serial port There is no need to receive the entire new software at once It can be received in chunks and the update process can be aborted at anytime Power loss is safe during the new software load process as everything is done in RAM Once the entire new software is received and buffered in RAM the already running software old software can execute a method in the in field update library to copy all ram to flash This happens in couple seconds and then the system reboots running the new software The online documentation includes further details 7 24 SQLite Database SQLite is a software library that implements a self contained server less SQL database engine SQLite is the most widely deployed SQL database engine in the world Tha
53. s a pre developed device that appears The program closes when done causing the emulator device to close The output window of Visual Studio should be full of messages from loading assemblies libraries on power up to loading the application to the actual Hello Rev 0 10 Page 27 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual NETMF TinyCLR firmware World Now view open the program that was created automatically Program cs VIEW PROJECT BUILD DEBUG TEAM TOOLS TEST WINDOW HELP lt gt Code Ctrl Alt 0 Any CPU Bs Start Page Solution Explorer fa Solution Explorer Ctrl W S A o Q oe se in Team Explorer Ctrl Ctri M Search Solution Explorer Ctrl Call Hierarchy Ctrl Alt K fa Solution MFConsoleApplication2 E Object Browser Ctrl W J 4 MFConsoleApplication2 fg Class View Ctrl W C b Properties g Error List Ctrl W E Aiaia Ke Output Alt 2 b D Resources resx g Task List Ctrl W T Ba Rankmark Windows Ctrl R Change the program to the following using System using Microsoft SPOT public class Program public static void Main Debug Print Amazing Press the F5 key The output window will now show something similar to the following image 100 Show output from Debug z a The thread lt No Name gt 0x2 has exited with code 0x08 Amazing Rev 0 10 Page 28 of 67 www GHIElectronics com GH
54. se File System SD and USB Sticks Native extensions RLP Rev 0 10 Page 6 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual The Hardware 2 The Hardware The G120 Module core components includes the processor 4 5MB flash and 16MB RAM The small 38 1 x 26 7 x 3 55 mm only 1 x 1 5 inches module contains everything needed to run a complex embedded system in a cost effective and flexible solution All needed is a 3 3V power source and some connections to take advantage of the G120 Module s long list of available features 2 1 LPC1788 Microcontroller The LPC1788 microcontroller in the G120 Module is an 120Mhz 32Bit Cortex M3 It incorporates e specialized flash memory accelerator a3 stage pipeline e a Harvard architecture with separate local instruction and data buses e an internal prefetch unit that supports speculative branches The NETMF core libraries combined with the GHI Electronics extensions provide a long list of methods to access the available peripherals 2 2 SDRAM 16MB of SDRAM comes standard with the G120 Module 2 3 FLASH 4 5MB of external flash is available on the G120 Module The fast zero wait state internal 0 5MB is used to execute the core services of the system to achieve the highest possible performance The remaining 4MB of external memory is used to hold more extensions and to store the user s end application One of the library extensions provided allows
55. silesuaebazease 8 Os PICPOUE Wa DlE ssena na EEEa 8 MOTO ON DOOL UD e arrar ers anea NA E 12 A1 Baot MOJE PANS esir i 12 4 2 GHI Boot Loader vs TinyBooter vs G120 Firmware NE TMF MAYGER visiirien ii aa 13 4 3 The Loader and Firmware Debug Access Interface S TNS GAI BOO LOG Oi sricu EAEra 14 SNe COMNEN Senia a 14 9 2 Updating TNYBOOIO sssini en 14 Updating TinyBooter using FEZ Config stad gic Updating TinyBooter Manually 0c cee eeeeeeeeeees aig Loading using AMODEM scccisuscacecsitesscnsscancsesenesrereccicuss 18 So MTOR a5 icctavass rn a EA E 20 5 4 TinyCLR firmware Update Using FEZ oia oe 21 5 5 Firmware Update Using MFDeploy E 23 6 NETMF TinyCuUR RMMWare sac scccescss cannes casccesesticmarasaescdeeadanne 26 6 71 Assemblies Version Matching isscccccrsscsesssessicrsxvenccsamncane 26 6 2 Deploying to the Emulator sissien 27 6 3 Deploying to the G120 Module ccececeeeeeeeeeeeeeeee 29 6 4 Targeting Different Versions of the Framework 29 TeDe E E E E N E vanes E E 31 7 1 Finding NETMF Library Documentation 0 0 ee 32 7 2 Loading ASSEmMDliOS sisirin 32 T 3 Digital INputs Outputs ceense Me Ee PME E PA E T T E 7 4 Analog Inputs Outputs TOP WM inina 7 6 Signal Generator Pf SIQM All CAMU risurco exmccdnereneascaneereerpienacseresenynesdeeed 7 8 Se tial Port WARN scvccsscstscssesscessevsterneancsancsscsseepneraterccancse 41 Table of Contents
56. sistorMode Disabled pin Read false signal Thread Sleep Timeout Infinite This is available through the GHI Hardware assembly Rev 0 10 Page 40 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 8 Serial Port UART One of the oldest and most common protocols is UART or USART G120 hardware exposes four UART ports Serial Port G120 Module UART Hardware Handshaking COM1 UARTO Not Supported COM2 UART1 Supported COM3 UART2 Not Supported COM4 UART3 Not Supported Important Note Serial port pins have 3 3V TTL levels where the PC uses RS232 levels For proper communication with RS232 serial ports PC serial port an RS232 level converter is required One common converter is MAX232 Note If the serial port is connected between two TTL circuits no level converter is needed but they should be connected as a null modem Null modem means RX on one circuit is connected to TX on the other circuit and vice versa using System using System 10 Ports using System Threading using Microsoft SPOT public class Program public static void Main SerialPort COM1 new SerialPort COM1 int c COM1 ReadByte a This is available through the Microsoft SPOT Hardware SerialPort assembly Rev 0 10 Page 41 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 9 SPI G120 s
57. the user application to be updated in field even remotely Rev 0 10 Page 7 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual Pin Out Description 3 Pin Out Description Many signals on the G120 Module are multiplexed to offer multiple functions on a single pin Developers can decide on the pin functionality through the provided libraries These are some important facts pertaining to the available pins Pins with GPIO feature default to inputs with internal weak pull up resistors GPIO pins are 3 3V levels but 5V tolerant Pins with analog feature are not 5V tolerant when the analog function is used Only GPIO pins on ports 0 and 2 are interrupt capable Advanced details on all pins can be found in the LPC1788 datasheet from NXP website 3 1 Pin out Table GROUND Ground pin 1 2 a 0V Power pin PWM_10 3 P2 4 LCD EN 4 P2 8 LCD_R3 5 P0 0 CAN1 RD 6 P0 10 COM3_TXD 7 P2 11 8 P2 10 LDRO Boot mode control 9 PO 11 COM3_RXD 10 PO 1 CAN1_TD 11 P0 18 SPI1_MOSI 12 P0 16 COM2 RXD 13 P0 15 SPI1_SCK 14 P0 22 LDR1 Boot mode control COM2_CTS 15 P0 17 SPI1_MISO USB vs COM1 debug 16 P2 1 MODE access interface 17 P0 6 COM2_ RTS 18 P2 0 COM2_TXD 19 SPI2_SCK No GPIO Rev 0 10 Page 8 of 67 www GHIElectronics com GHI Electronics _LLC G120 SoM User Manual Pin Out Description
58. to compile and deploy applications for an older version of the SDK For example if there is a module with older firmware and there is an older application that needs to be deployed GHI Electronics and Microsoft makes this easy by shipping the previous version of the framework as part of the current package Under Project Properties use the Application panel to target the desired version Rev 0 10 Page 29 of 67 www GHlElectronics com GHI Electronics LLC G120 SoM User Manual NETMF TinyCLR firmware I MFConsoleApplication1 Microsoft Visual Studio Express 2012 for Windows Des FILE EDIT VIEW PROJECT BUILD DEBUG TEAM TOOLS TEST WINDOW HELP 0 0 BaMa 9 p Stat Debug AnyCPU Moet 3 MEConsoleApplication 2 X Object Browser Program cs a Application Configuration N A v Build Build Events Platform N A v Debug Assembly name Default Resources MFConsoleApplication1 MFCon Ref Paths ert Target framework Output NET Micro Framework NET Micro Framework 4 3 NET Micro Framework 3 0 NET Micro Framework 4 0 NET Micro Framework 4 1 NET Micro Framework 4 3 Install other frameworks ify how application resources will be managed ee Rev 0 10 Page 30 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 The Libraries Similar to the full desktop NET NETMF includes many services to help in modern application development One example
59. to set the high and low pulse with 7 6 Signal Generator Using Signal Generator developers can produce different waveforms This is available on any digital output pin using System using System Threading using Microsoft SPOT using GHI Pins using GHI IO public class Program public static void Main uint signal new uint 4 19000 2000 3000 4000 SignalGenerator pin new SignalGenerator G120 P0_22 false pin Set false signal Thread Sleep Timeout Infinite Rev 0 10 Page 39 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries While handeled in software the SignalGenerator runs through internal interrupts in the background and so is not blocking to the system Another Blocking methd is also provided for higher accuracy For example the blocking method can generate acarrier frequency This is very useful for infrared remote control applications This is available through the GHI Hardware assembly 7 7 Signal Capture Signal Capture monitors a pin and records any changes of the pin into an array The recorded values are the times taken between each signal change using System using System Threading using Microsoft SPOT using Microsoft SPOT Hardware using GHI Pins using GHI 10 public class Program public static void Main uint signal new uint 100 SignalCapture pin new SignalCapture G120 P _22 Port Re
60. upports three SPI interfaces SP11 SPI2 and SPI3 SPI Bus is designed to interface with multiple SPI slave devices the active slave is selected by asserting the Chip Select line on the relative slave device Important note SPI2 is shared internally with the flash memory G120 uses Using a chip select is required with devices connected using SPI2 Improper use of SPI2 will cause G120 to not boot or not work properly The use of SPI1 is recommended using System Threading using Microsoft SPOT Hardware public class Program public static void Main SPI Configuration MyConfig new SPI Configuration Cpu Pin GPIO Pini false false true 1000 SPI SPI_module SPI1 SPI MySPI new SPI MyConfig byte tx_data new byte 10 byte rx_data new byte 10 MySPI WriteRead tx_data rx_data Thread Sleep Timeout Infinite This is available through the Microsoft SPOT Hardware assembly Rev 0 10 Page 42 of 67 www GHlElectronics com GHI Electronics _LLC G120 SoM User Manual The Libraries 7 10 12C I2C is a two wire addressable serial interface The G120 supports one master I2C port Refer to the Pin Out Description chapter for more information about I2C signals assignments to G120 hardware pins Setup the I2C bus I2CDevice Configuration con new I2CDevice Configuration x38 400 I2CDevice MyI2C new I2CDevice con Start a transaction I2CDevice I2CTransaction xActions new I

Download Pdf Manuals

image

Related Search

Related Contents

Copyright © All rights reserved.
Failed to retrieve file