Páginas: 1 [2]   Ir para o fundo
  Imprimir  
Autor Tópico: problemas ao ligar microcontroladores ao pc  (Lida 1135 vezes)
RJSC
Socket
**
Offline Offline

Mensagens: 133


« Responder #15 em: Janeiro 19, 2008, 02:48:52 »

Mas isso eu valei em cima; se desse para programar iria usar muitos periféricos. Mas a informação ficou, pode ser programados, mas parece ser muito profissional e dificil fazer isso mesmo.
Obrigado.
José Flor

Desculpa lá. Eu abri este tópico e só olhei para o ultimo post. Não acompanhei desde o início, depois dá nisto.
Esses CPU's dos PC's são feitos só para usar mesmo nos PC's.
A intel por causa disso tem uma versão do 386 com periféricos, o 386EX (Que não deve ser barato nem fácil de encontrar):
Citar
The Intel 80386EX (386EX) is a variant of the Intel 386 microprocessor designed for embedded systems. Introduced in August 1994 and was successful in the market being used aboard several orbiting satellites and microsatellites.

 Characteristics

    * Introduced August 1994
    * Variant of 80386SX intended for embedded systems
    * Static core, i.e. may run as slowly (and thus, power efficiently) as desired, down to full halt
    * On-chip peripherals:
          o clock and power mgmt
          o timers/counters
          o watchdog timer
          o serial I/O units (sync and async) and parallel I/O
          o DMA
          o RAM refresh
          o JTAG test logic
    * Significantly more successful than the 80376
    * Used aboard several orbiting satellites and microsatellites
    * Used in NASA's FlightLinux project

Mesmo assim são poucos periféricos. Basicamente adicionaram partes da NorthBridge dos PC's.
Acho que têm também microcontroladores completos com ram rom adc's uart's etc mas com o núcleo do 8086 original.
Registado
ZeBit
Socket
**
Offline Offline

Mensagens: 127


« Responder #16 em: Janeiro 20, 2008, 03:00:49 »

Ola Flor,

Citar
Em CISC uma algumas instruções requerem uns 100 ciclos maquina ao inves de 1 ou 2 em RISC. Isso quer dizer que vai ocupar menos memória.

Concretamente com relacção á familia do 8051:

O core tradicional executa as instrucções em 12 e 24 ciclos de clock com excepção da multiplicação e  da divisão que são executadas em 48.
Entretanto com o melhoramento do core varios fabricantes oferecem um novo core que executa as mesmas instrucções em 1 a 4 ciclos de clock, portanto já bastante proximo do que é oferecido pelos RISC's.
Apenas saliento que tanto a divisão como a multiplicação são um luxo nos micros de 8 bits.

Um abraço
 
Registado
ZeBit
Socket
**
Offline Offline

Mensagens: 127


« Responder #17 em: Janeiro 20, 2008, 03:12:10 »

Citar
Em CISC uma algumas instruções requerem uns 100 ciclos maquina ao inves de 1 ou 2 em RISC. Isso quer dizer que vai ocupar menos memória.

O numero de ciclos que uma instrucção leva a ser executada não tem relacção directa com o tamanho que ocupa em memoria. Indica isso, sim o tempo que leva a ser executada.

Um abraço

Registado
ZeBit
Socket
**
Offline Offline

Mensagens: 127


« Responder #18 em: Janeiro 20, 2008, 03:34:21 »

Ola RJSC,

Citar
Mais pormenores não sei porque abomino assembly.
É como querer continuar a programar em código máquina!

Querer programar em codigo maquina realmente não faz sentido, nem tão pouco resulta em qualquer vantagem.
No entanto, programar em assembly é por vezes necessário ou mesmo imprescindivel, pelo menos quando se fala em aplicações com microcontroladores.
Saliento isto porque por vezes se refere ao assembly como se fosse linguagem maquina.

Um abraço
Registado
José Flor
José António Flor de Sousa
Chip
*****
Offline Offline

Mensagens: 1 054


OzFlor - José Flor


WWW
« Responder #19 em: Janeiro 20, 2008, 10:56:26 »

Citar
Citar
Em CISC uma algumas instruções requerem uns 100 ciclos maquina ao inves de 1 ou 2 em RISC. Isso quer dizer que vai ocupar menos memória.

O numero de ciclos que uma instrucção leva a ser executada não tem relacção directa com o tamanho que ocupa em memoria. Indica isso, sim o tempo que leva a ser executada.
Thanks ZeBit,
Mas foi iso que eu deduzi e escrevi em cima. É uma afirmação e não interrogação.
Mas valeu a confirmação disso ai pois eu só supôs isso depois que analisei melhor a situação.
Veja ainda o tópico "Multiplicar e dividir em assembler"
Registado

RJSC
Socket
**
Offline Offline

Mensagens: 133


« Responder #20 em: Janeiro 21, 2008, 02:32:44 »

Ola RJSC,

Citar
Mais pormenores não sei porque abomino assembly.
É como querer continuar a programar em código máquina!

Querer programar em código maquina realmente não faz sentido, nem tão pouco resulta em qualquer vantagem.
No entanto, programar em assembly é por vezes necessário ou mesmo imprescindivel, pelo menos quando se fala em aplicações com microcontroladores.
Saliento isto porque por vezes se refere ao assembly como se fosse linguagem maquina.

Um abraço

Eu sei que não é...
É uma representação simbólica dela. Siglas em vez dos opcodes para ser mais facil aos humanos ler o código, assim como alguns acessórios como instruções virtuais que englobam vários opcodes e algumas etiquetas que simbolizam o endereço para os saltos.
Eu continuo a pensar que não passa de código máquina com uma fachada pintada de cor mais agradável.
Pode até ser praticável para fazer programas muito  muito simples, mas assim que se quer fazer alguma coisa mais complicada não vale a pena.
Pode-se conseguir algumas pequenas optimizações no código que quase nunca valem o esforço.
Quase toda a gente considera o C uma linguagem bastante eficiente, e como pode operar a baixo nível não vejo porquê programar em assembly.
Registado
FET_Destroyer
Fusivel
*
Offline Offline

Mensagens: 8


« Responder #21 em: Setembro 26, 2008, 01:02:27 »

boas pessoal estou a tentar desenvolve rum projecto baseado em 8051 e estamos a usar o miro ds89c450 e c430
eu tnh 3 c430 e 1 c450 em todos kd os liguei ao meu pc so consegui gravar a primeira vez.... estou a usar o mtk2 e passei a basearme num codigo de assembly super basico

 org 00h
inicio:      Mov P1,#255h
             lcall tempo
             ljmp inicio           
tempo:       Mov r2,#5
Ciclo:       MOV R6,#200
CicloInt:    MOV R7,#10
             DJNZ R7,$
             DJNZ R6, CicloInt
             djnz r2, ciclo
             RET 


e o mtk dame sempre o memso erro com todos os micros=>

Error on writing the line :

:100000007590551200090200007A057EC87F0ADF4C


Error writing file: expected G and received P

Error on line number : 1


Load failed.

apesar de axar ke nao tme nada a ver os micros sao samples oferecidas da maxim/dallas , apenas digo ke nao tme nad a aver pk o micro doutros colegas, funciona na perfeiçao na minha p+laca por isso axo ke ou e problrmas dos mciros todos ou do meu mtk2/pc pk neste pc so experimenteie stes micros

abraços

Eu tambem tinha esse problema epensei k eram dos micros. è simples. abres o mtk e ligas a COM e dpx connectas-t com o c420
kdo aparecer o prompt envia o comando "K" so a letra, penso k apaga tudo no micro e repoe valores de origem ou assim, corrige esse erro é o que interessa
Registado
Njay
Cristal
***
Offline Offline

Mensagens: 439



WWW
« Responder #22 em: Setembro 28, 2008, 00:44:32 »

Normalmente a memória de programa dos microcontroladores precisa de ser apagada ("erase cycle") antes de se poder lá gravar outro programa. Quando o micro é novo, a memória vem apagada e logo a gravação funciona sem problemas.

Algumas boards de PC têm a BIOS numa memória EPROM ou EEPROM, o que permite re-escrever o seu conteúdo (qualquer board a que se possa fazer "upgrade" da BIOS está automaticamente incluida nesta categoria de boards). Existe até um projecto Open Source, cujo nome não vos sei dizer, cujo objectivo é criar uma BIOS OpenSource. Mas escrever uma BIOS não é tarefa fácil:

 1) É preciso um conhecimento muito, muito bom dos detalhes de programação e hardware do CPU
 2) É preciso um conhecimento do hardware da board, o que muitas vezes é informação "secreta" do fabricante (isto é necessário por exemplo para se programar o controlador de memória, os buses, etc).

Acreditem, uma BIOS é um projecto monstro (grande e complexo)... mesmo só para preparar o ambiente minimo para correr um programa específico. Daí que, sendo um PC, o mais fácil é juntar-lhe um disco (ou até mesmo uma floppy) e usar uma versão pequenina de Linux, correndo a aplicação em cima deste.
Se precisam de ligar outros dispositivos de hardware à board, ela se calhar tem porta paralela, série, teclado e do rato e portanto podem usar isso. Se querem alguma coisa mais "rápida" (se bem que a porta série pode ser bastante rápida, até uns 2 MBytes/s mesmo em boards antigas tipo 386 talvez até 286), podem sempre investir em desenvolver (ou copiar da net) uma placa ISA, cuja interface não é demasiado complexa.
Registado

Blog: Tróniquices ~ Projecto: EmbeddedDreams.com ~ Tenho componentes p/ venda nos Classificados
Páginas: 1 [2]   Ir para o topo
  Imprimir  
 
Ir para: