Area SX srl - Informatica e Microelettronica
0
Torna a: Home Page Soluzioni Microcontrollori BasicX BasicX BX24 microcontrollore programmabile in Basic

BasicX BX24 microcontrollore programmabile in Basic

Data di pubblicazione: 17-10-2003 | Versione Italiana  | (No English Version)The English version of this article does not exists
Parole chiave: - BX24 - How-To -


Figura 1 - Il modulo BX24
compatibile con Visual Basic e
dotato di multitasking nativo

Velocità 83.000 istruzioni al secondo
Multitasking Nativo. Il BX24 è in grado di eseguire più subroutine BasicX contemporaneamente ed è in grado di gestire la cominicazione tra esse tramite code e semafori.
Memoria programma 32Kb su EEPROM corrispondendi a 8000 linee BasicX. Può contenere anche variabili permanenti
Memoria dati 400 byte di memoria RAM. I dati non volatili possono essere memorizzati anche sulla EEPROM insieme al programma.
Linee di I/O 21 di cui 16 standard, 2 seriali, 3 non riportati sui piedini
Ingressi ADC 8 delle linee di I/O standard possono essere configurate come ingressi analogici a 10 bit con velocità di campionamento di 6000 campioni al secondo
Linee seriali 2 linee di cui una principale con baud rate da 1200 a 460.8K (Com1) ed una secondaria con baud rate da 1200 a 19200 baud (Com3)
Alimentazione da 4.8 volt a 15.0 volt in corrente continua
Assorbimento 20mA escluso il carico sulle linee I/O
Massima corrente erogabile sulle linee di I/O 80mA in totale 10 mA su ogni singola linea in uscita (a 5 volt)
Temperatura operativa da -40°C a +85°C
Package 24 pin dual in line
Operazioni in virgola mobile Si
Orologio di sistema Si
Interfaccia SPI Si
Pull-up sulle linee di I/O Si
Altro Interfaccia di programmazione Seriale ad alta velocità o parallela (circa 65000 linee/s).
2 LED rosso e verde on board pilotabili da programma

Tabella 1 - Caratteristiche del BX24

Introduzione al BX24

Il BX24 è un modulino di dimensioni molto contenute (solo 34x17mm) con cui è possibile sviluppare in modo semplice e veloce le proprie applicazioni a microprocessore senza dover studiare linguaggi di programmazione troppo complessi.

Il BX24 si presenta in un package dual in line adatto per essere inserito su uno zoccolo per circuiti integrati a 24 pin. Al suo interno alloggia un microcontroller Atmel AT90S8535, una memoria EEPROM da 32K, un quarzo ed un chip per la regolazione della tensione di alimentazione.

Il microcontroller Atmel è già programmato per eseguire il codice operativo memorizzato sulla EEPROM. Il codice operativo viene generato dall'ambiente di sviluppo BasicX e trasferito nella EEPROM del modulo tramite un connettore seriale RS232.

Esempio di applicazione minimale

In figura 1 riportiamo lo schema elettrico di base con cui poter iniziare a fare esperimenti con il modulo BX24. In figura 2 possiamo vedere una foto del montaggio pratico realizzato su una normale breadboard per esperimenti.

Schema di base per creare applicazioni con il BX24
Figura 1 - Schema di base per creare applicazioni con il BX24
Schema di base realizzato su breadboard
Figura 2 - Realizzazione pratica dello schema di base

Tra i pin 24 (Vin) e 23 (Gnd) dobbiamo fornire una tensione continua compresa tra 5.5 e 15 volt ottenibile anche da un normalissimo alimentatore a parete (vedi ad esempio il KK570 nella sezione Area SX store in fondo a questo articolo). Ai pin 1,2,3 e 4 dobbiamo connettere un connettore Canon DB9 femmina in modo da poter collegare il BX24 direttamente alla porta seriale del nostro PC per poterne effettuare la programmazione.

Verifica del funzionamento del modulo

Ogni modulo BX24 viene venduto già preprogrammato con un codice di prova che ne consente di verificare immediatamente il corretto funzionamento. Basta fornire l'alimentazione sui pin 24 (Vin) e 23 (GND), se tutto funziona il led bicolore installato sul modulo inizierà a lampeggiare. In caso contrario occorre verificare che sia stata fornita correttamente la tensione di alimentazione.

L'ambiente di sviluppo BASICX

Il BX24 può essere programmato dal suo ambiente di sviluppo per Windows BasicX prodotto da NetMedia. Questo software, fornito in dotazione su CD con i kit di sviluppo NetMedia, è scaricabile gratuitamente dal sito web http://www.basicx.com.

Il BasicX è un linguaggio molto simile, nella sua sintassi, al Visual Basic di casa Microsoft. La compatibilità è così spinta che è possibile testare gli algoritmi in ambienre Visual Basic per poi trasferirli in ambiente BasicX con modifiche minime se non nulle. Ovviamente si parla di compatibilità solo a livello di sintassi e non a livello di ambiente di sviluppo visuale (form, funzioni, ocx, ecc.).

Non è comunque assolutamente necessario possedere Visual Basic per poter programmare in BasicX.


Figura 3 - L'ambiente di sviluppo BasicX

L'ambiente di sviluppo BasicX si occupa anche del trasferimento dell'opcode all'interno della EEPROM del BX24 tramite la porta seriale RS232. L'opcode è il vero e proprio programma che il BX24 interpreta e che viene prodotto dall'ambiente Basix al termine della compilazione del codice sorgente scritto dall'utente.

Documentazione tecnica

Molto ben fatta la documentazione tecnica fornita con l'ambiente di sviluppo (disponibile solo in lingua inglese).

Per chi volesse dare solo un'occhiata evitando di dover scaricare tutti i 15Mb dell'ambiente di sviluppo forniamo, di seguito, l'elenco dei documenti in formato PDF scaricabili singolarmente:

  • Basic Express Language Reference Descrizione della sintasi del linguaggio BasicX
    (Versione 2.0, 33 pagine, formato PDF, dimensione 147Kb, (c) NetMedia)
  • Basic Express System Library Descrizione delle singole funzioni di libreria
    (Versione 2.0, 131 pagine, formato PDF, dimensione 354Kb, (c) NetMedia)
  • Basic Express Operating System Reference Descrizione delle funzioni del sistema operativo integrato nel Basic Express (Multitasking, code, orologio di sistema, ecc)
    (Versione 2.0, 31 pagine, formato PDF, dimensione 150Kb, (c) NetMedia)
  • Basic Express Compiler User's Guide Manuale utente dell'ambiente di sviluppo BasicX per Windows
    (Versione 2.0, 25 pagine, formato PDF, dimensione 530Kb, (c) NetMedia)

  • BX24 Hardware Reference Caratteristiche hardware del modulo BX24 e della demo board BXBD
    (Versione 2.0, 19 pagine, formato PDF, dimensione 195Kb, (c) NetMedia)
  • Schema elettrico del modulo BX24
    (Revisione E, formato GIF, dimensione 34Kb, (c) NetMedia)

  • Datasheet del micro Atmel AT90S8535 Datasheet del microcontrollore Atmel AT90S8525
    (Revisione 1041E–04/99, 113 pagine, formato PDF compresso ZIP, dimensione 1900Kb, (c)Atmel )

Esempi di applicazioni pratiche

  • Manipolatore Planare a due bracci
    Un fantastico progetto di Antonello Galanti: un robot manipolatore basato su BX24, in grado di muoversi su un piano di 20cm di raggio; può disegnare funzioni matematiche o operare come emulatore dei movimenti di un braccio gemello mosso manualmente. Una dimostrazione di come sia possibile sfruttare pienamente tutte le caratteristiche del BX24 anche per progetti complessi

  • Radio ricetrasmettitore con BasicX-24 e modulo ER400TRS
    In questa applicazione vedremo come pilotare quattro linee digitali utilizzando una interfaccia bidirezionale senza fili. Baseremo il nostro progetto su un modulo BasicX 24 collegato al ricetrasmettitore RF ER400TRS della LPRS.

  • Generazione di allarmi via SMS con un modulo BX24
    In questo esempio vedremo come poter generare degli SMS di allarme utilizzando un modulo programmabile in basic BX24 collegato ad un modem GSM. Quanto riportato in questo articolo può essere usato come base per progettare sistemi in grado di monitorare lo stato di diverse linee digitali o il superamento di soglie prestabilite su ingressi analogici e di inviare segnalazioni via messaggi SMS.

  • CMPS03 Bussola elettronica
    La bussola elettronica CMPS03 è un piccolo modulo in grado di misurare il proprio orientamento rispetto al campo magnetico terrestre. Ideale come supporto alla navigazione di robot, modelli telecomandati, ecc..

  • SFR04 modulo sonar ad ultrasuoni
    In questo articolo presentiamo il modulo sonar SFR04 con cui è possibile misurare la distanza da un ostacolo frontale in un intervallo compreso tra i 3 cm ed i 3 metri grazie all'eco di un segnale ad ultrasuoni.

Guida all'acquisto

Per iniziare ad utilizzare i moduli BX24 e le relative schede di sviluppo BXDB e BXDS direttamente dalla sezione Area SX store in fondo a questo articolo. Non è necessario invece acquistare invece nessun software in quanto tutto l'ambiente di sviluppo è contenuto in un unico CD fornito in dotazione o scaricabile dalla sezione links di questo articolo.

Chi intende sperimentare spendendo il minimo indispensabile, può acquistare il solo modulo BX24 e realizzare da se una piccola board per esperimenti.

Chi vuole comunque spendere il minimo indispensabile, evitando però il rischio di bruciare il BX24 a causa di qualche errore nel fare le connessioni, consigliamo anche l'acquisto della demo board BXDB.

Una valida alternativa più professionale è la scheda SX18 BX24, che consente in maniera semplice e veloce la  prototipazioni con il modulo BX-24 non che la realizzazione anche di progetti molto complessi. Per maggiori informazioni è possibile fare riferimento all'articolo SX18 -BasicX24: una scheda completa per lavorare con i BasicX24

Documentazione tecnica della scheda BXDS (Basic Express Development Station)

Librerie di sistema

Uno degli aspetti più interessanti del modulo BX24 e dell'ambiente di programmazione BasicX è la notevole disponibilità di librerie di sistema già pronte per effettuare funzioni anche a bassissimo livello

Di seguito riportiamo l'elenco delle funzioni di disponibili sul BX24 divise per categorie:

Funzioni matematiche

Abs             Absolute value
ACos            Arc cosine
ASin            Arc sine
Atn             Arc tangent
Cos             Cosine
Exp             Raises e to a specified power
Exp10           Raises 10 to a specified power
Fix             Truncates a floating point value
Log             Natural log
Log10           Log base 10
Pow             Raises an operand to a given power
Randomize       Sets the seed for the random number generator
Rnd             Generates a random number
Sin             Sine
Sqr             Square root
Tan             Tangent

Funzioni sulle stringhe

Asc             Returns the ASCII code of a character
Chr             Converts a numeric value to a character
LCase           Converts string to lower case
Len             Returns the length of a string
Mid             Copies a substring
Trim            Trims leading and trailing blanks from string
UCase           Converts string to upper case

Funzioni di gestione della memoria

BlockMove       Copies a block of data from one RAM location to another
FlipBits        Generates mirror image of bit pattern
GetBit          Reads a single bit from a variable
GetEEPROM       Reads data from EEPROM
MemAddress      Returns the address of a variable or array
MemAddressU     Returns the address of a variable or array
PersistentPeek  Reads a byte from EEPROM
PersistentPoke  Writes a byte to EEPROM
PutBit          Writes a single bit to a variable
PutEEPROM       Writes data to EEPROM
RAMPeek         Reads a byte from RAM
RAMPoke         Writes a byte to RAM
SerialNumber    Returns the version number of a BasicX chip

Funzioni di gestione delle code

GetQueue        Reads data from a queue
OpenQueue       Defines an array as a queue
PeekQueue       Looks at queue data without removing any data
PutQueue        Writes data to a queue
PutQueueStr     Writes a string to a queue
StatusQueue     Determines if a queue has data available for reading

Funzioni di gestione dei task

CallTask              Starts a task
CPUSleep              Puts the processor in various low-power modes
Delay                 Pauses task and allows other tasks to run
DelayUntilClockTick   Pauses task until the next tick of the real time clock
FirstTime             Determines whether the program has ever been run since download
LockTask              Locks the task and discourages other tasks from running
OpenWatchdog          Starts the watchdog timer
ResetProcessor        Resets and reboots the processor
Semaphore             Coordinates the sharing of data between tasks
Sleep                 Pauses task and allows other tasks to run
TaskIsLocked          Determine whether a task is locked
UnlockTask            Unlocks a task
WaitForInterrupt      Allows a task to respond to a hardware interrupt
Watchdog              Resets the watchdog timer

Funzioni per la conversioni tra tipi di dati

CBool                 Convert Byte to Boolean
CByte                 Convert to Byte
CInt                  Convert to Integer
CLng                  Convert to Long
CSng                  Convert to floating point (single)
CStr                  Convert to string
CuInt                 Convert to UnsignedInteger
CuLng                 Convert to UnsignedLong
FixB                  Truncates a floating point value, converts to Byte
FixI                  Truncates a floating point value, converts to Integer
FixL                  Truncates a floating point value, converts to Long
FixUI                 Truncates a floating point value, converts to UnsignedInteger
FixUL                 Truncates a floating point value, converts to UnsignedLong
ValueS                Convert a string to a float (single) type

Funzioni per la gestione dell'orologio di sistema

GetDate               Returns the date
GetDayOfWeek          Returns the day of week
GetTime               Returns the time of day
GetTimestamp          Returns the date and time of day
PutDate               Sets the date
PutTime               Sets the time of day
PutTimestamp          Sets the date, day of week and time of day
Timer                 Returns floating point seconds since midnight

Funzioni per il controllo delle linee di I/O

ADCToCom1             Streams data from ADC to serial port
Com1ToDAC             Streams data from serial port to DAC
CountTransitions      Counts the logic transitions on an input pin
DACPin                Generates a pseudo-analog voltage at an output pin
FreqOut               Generates dual sinewaves on output pin
GetADC                Returns analog voltage
GetPin                Returns the logic level of an input pin
InputCapture          Records a pulse train on the input capture pin
OutputCapture         Sends a pulse train to the output capture pin
PlaySound             Plays sound from sampled data stored in EEPROM
PulseIn               Measures pulse width on an input pin
PulseOut              Sends a pulse to an output pin
PutDAC                Generates a pseudo-analog voltage at an output pin
PutPin                Configures a pin to 1 of 4 input or output states
RCTime                Measures the time delay until a pin transition occurs
ShiftIn               Shifts bits from an I/O pin into a byte variable
ShiftOut              Shifts bits out of a byte variable to an I/O pin

Gestione delle comunicazioni

Debug.Print           Sends string to Com1 serial port
DefineCom3            Defines parameters for serial I/O on arbitrary pin
Get1Wire              Receives data bit using Dallas 1-Wire protocol
OpenCom               Opens an RS-232 serial port
OpenSPI               Opens SPI communications
Put1Wire              Transmits data bit using Dallas 1-Wire protocol
SPICmd                SPI communications
X10Cmd                Transmits X-10 data

I kit di sviluppo

Area SX - SX18 BX24

La scheda SX18 BX24 è una scheda di prototipazione semplice e versatile, adatta per iniziare a sperimentare con BX24, sia a produrre velocemente prototipi o piccoli progetti 

la SX SX18 BX24 include:

  • Una porta seriale RS232, dotata di connettore femmina a 9 poli. La configurazione elettrica di questa porta è di tipo DCE (Data Comunication Equipment) ovvero la stessa delle periferiche, come ad esempio il modem. Questa porta è collegata direttamente alle line TX , RX e AM del BX24, in modo da permettere la programmazione direttamente sul circuito del microcontrollore; oltre che per la programmazione il connettore può essere utilizzato come porta di comunicazione seriale.
  • Una porta seriale RS232, dotata di connettore maschio a 9 poli. La configurazione elettrica di questa porta è di tipo DTE (Data Terminal Equipment) ovvero la stessa dei PC.
  • Un pulsante di reset collegato alla linea Reset del microprocessore BX24
  • Un diodo led (+12V) per indicare la tensione + 12V sulla scheda.
  • 3 led (+5V) controllati direttamente dal microprocessore.
  • Un alimentatore switching da 5 volt,in grado di sostenere picchi di corrente fino a 2A circa, realizzato per fornire alimentazione stabilizzata all'elettronica presente sulla scheda; sono disponibili una serie di contatti su cui poter prelevare 5 volt stabilizzati per alimentare piccole circuiterie esterne.
  • Un connettore di alimentazione standard
  • Un micro interruttore per interrompere la linea di alimentazione senza dover intervenire sull'alimentatore esterno.
  • Una serie di connettori che rendono disponibili tutte le linee di ingresso/uscita dei microprocessori, le alimentazioni (+5V, +12V e GND) e le linee del connettore a 9 poli della porta seriale.
  • Un connettore di espansione studiato per collegare la SX16B (SX16B - Scheda di espansione IN/OUT) oppure una SXLCD (SXLCD: pilotare un display LCD utilizzando una linea seriale).

BasicX Demo Board

La scheda BXDB (BasicX Demo Board) è la scheda più semplice per poter iniziare a fare qualche esperimento con il BX24.

In figura 4 viene riportata la scheda in configurazione base in cui sono presenti:

  • Uno zoccolo 24x2 pin per ospitare un modulo BX24
  • Un connettore per alimentazione (5-15 volt CC)
  • Quattro pulsanti da stampato
  • Un connettore per display LCD seriale 16x2

In figura 5 viene riportata una foto della scheda completa di LCD seriale 16x2

Figura 4
Scheda di sviluppo BXDB
(BasicX Demo Board)
Figura 5
La scheda BXDB completa di display seriale
(BasicX Demo Board)

BasicX Development Station

Esiste anche una scheda più completa (vedi figura 4) denominata BXDS (BasicX Development Station) dotata di una completa serie di circuiti accessori con cui poter esplorare a fondo tutte le caratteristiche del BX24 senza dover ricorrere neanche al saldatore.


Figura 4
La scheda di sviluppo BXDS
(BasicX Development Station)

In dotazione alla BXDS viene fornito infatti un set di jumper che permettono di effettuare le connessioni tra il BX24 ed il resto dei componenti montati sulla scheda tramite pin ad inserzione.

Di seguito riportiamo una lista dei componenti disponibili:

  • Un sensore di temperatura
  • Un sensore di luminosità
  • Un trimmer
  • Una linea RS485
  • Una linea RS232
  • Una porta parallela
  • 8 led ad alta luminosità
  • 4 pulsanti
  • Una uscita DAC (Digital to Analog Converter) audio
  • Una EEPROM esterna (opzionale)
  • Una connessione per adattatore X10 (opzionale)
  • Un'area forata per il montaggio di altri componenti

Sono inoltre presenti sulla scheda due zoccoli a 40 pin dual in line per ospitare le versioni di micro BX01 e BX35 equivalenti al chip ATMEL montato a bordo della BX24 ma in formato dual in line.

Segnala questo articolo: 



Parole chiave: - BX24 - How-To -

Data di pubblicazione: 17-10-2003Hits: 288664
I marchi citati sono propriet dei titolari dei relativi diritti. Le caratteristiche tecniche e i prezzi riportati sono indicativi e soggetti a variazioni senza preavviso. Le foto non hanno valore contrattuale. Nonostante accurate verifiche, il presente documento pu contenere prezzi o specifiche errati. Area SX si scusa in anticipo e si impegna ad evitare tali imprecisioni.

 Area SX store
In questa sezione puoi ordinare direttamente i prodotti descritti in questo articolo
BX24;LCD16X2S;KK570;BX24-BUNDLE5;SX18-BX24;LCD+20X4;LCD.PLUS;LCDX;SX18-BX24;SX18-BX24-Bundle
Tutti i prezzi indicati sono espressi in Euro con IVA e spese di trasporto escluse. I prezzi si riferiscono al singolo pezzo
DescrizioneCodicePrezzo
Per maggiori informazioniMicrocontrollore BasicX BX 24
Il BX24P è un potente microcontrollore programmabile in Basic, un linguaggio molto simile al Visual Basic. Dotato di 16 linee di I/O di cui 8 configurabili come ingressi AD a 10bit, multitasking, gestione matematica in virgola mobile, orologio di sistema, ecc.In ridottissime dimensioni il BX24P racchiude un completo sistema ideale per sviluppare velocemente le proprie applicazioni.
Il nuovo microprocessore BasicX 24P oltre a supportare un range di temerature industriale(da -40°C a +85°C), è nettamente più performate, infatti rispetto al modello precedente è ben il 29% più veloce e arriva ad eseguire fino a 83.000 istruzioni al secondo.


Prodotto compliant RoHs
BX24
Chiamare lo 06.99.33.02.57 per informazioni e prezzo del prodotto

Questo prodotto richiede un contatto diretto

Chiamare lo (+39)06.99.33.02.57 oppure inviare una email ad info@areasx.com per ulteriori informazioni
Per maggiori informazioniPer maggiori informazioni
 
Per maggiori informazioniLCD+ Terminale multifunzione
LCD+ è un terminale multifunzione che integra un display LCD retroilluminato da 20x4 caratteri, 8 AD converter, 8 driver dal 500mA per relè, una connessione per tastiera a matrice 4x4. Il tutto controllabile da un'unica connessione seriale RS232 o TTL invertita.

Stato della compliance RoHS non disponibile
LCD.PLUS€ 86.30
€ 75.00
Per maggiori informazioniPer maggiori informazioni
Per maggiori informazioniScheda SX 18 per BX24
La scheda SX18/BX24 è l'hardware ideale per iniziare lavorare o per ralizzare progetti più complicati con il microprocessore BasicX-24.
Completa di: circuito di alimentazione a range esteso, seriale RS232, LED e pulsanti, equipaggiabile con un modulo seriale a radio frequeza Easy Radio ER400TRS, connettore di programmazione ed expander per collegare una SX16B ed un display LCD.


Prodotto compliant RoHs
SX18-BX24
Chiamare lo 06.99.33.02.57 per informazioni e prezzo del prodotto

Questo prodotto richiede un contatto diretto

Chiamare lo (+39)06.99.33.02.57 oppure inviare una email ad info@areasx.com per ulteriori informazioni
Per maggiori informazioniPer maggiori informazioni
 
Per maggiori informazioniBundle BX24P + SX18
In una unica confezione il microntrollore BX24 P, la Scheda SX18 e la cavetteria necessaria al suo utilizzo, in pratica un sistema completo per sviluppare il vostro sistema in linguaggio basic.
Il bundle è composto da:
  • Un microcontrollore BX24 P
  • Una SX18 per BX24
  • Un alimentatore 220v - 12V
  • Un CD con sdk e documentazione


Prodotto compliant RoHs
SX18-BX24-Bundle
Chiamare lo 06.99.33.02.57 per informazioni e prezzo del prodotto

Questo prodotto richiede un contatto diretto

Chiamare lo (+39)06.99.33.02.57 oppure inviare una email ad info@areasx.com per ulteriori informazioni
Per maggiori informazioniPer maggiori informazioni
 

Rivenditori Social Contatti Condizioni
Area SX s.r.l
Via Stefano Longanesi 25
00146 Roma

Tel: +39.06.99.33.02.57
Fax: +39.06.62.20.27.85
P.IVA 06491151004
Condizioni di vendita
Procedura di rientro in garanzia
Condizioni per i rivenditori