KR100428012B1 - 감시 제어 시스템의 원격 다운 로드 장치 및 방법 - Google Patents
감시 제어 시스템의 원격 다운 로드 장치 및 방법 Download PDFInfo
- Publication number
- KR100428012B1 KR100428012B1 KR10-1998-0039393A KR19980039393A KR100428012B1 KR 100428012 B1 KR100428012 B1 KR 100428012B1 KR 19980039393 A KR19980039393 A KR 19980039393A KR 100428012 B1 KR100428012 B1 KR 100428012B1
- Authority
- KR
- South Korea
- Prior art keywords
- flash memory
- code
- program
- unit
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 쓰기가 가능한 장치를 코드 영역으로 사용하고, 프로그램을 원격에서 다운로드 받을 수 있도록 함으로써 프로그램을 용이하게 변경할 수 있도록 한 감시 제어 시스템의 원격 다운로드 장치 및 방법에 관한 것이다. 본 발명의 감시 제어 시스템의 원격 다운로드 장치는 프로그램을 다운로드할 호스트 장치와 연결되는 직렬 포트부; 시스템 전체를 제어하며, 외부 장치와 통신하기 위하여 데이터와 어드레스를 멀티플렉스하여 내보내는 중앙 처리부; 상기 중앙 처리부에서 멀티플렉스된 버스에서 어드레스를 래치하기 위한 래치 회로부; 프로그램 코드를 저장하여 상기 중앙 처리부가 실행 가능하도록 하며, 다운로드 명령시 로더에 의하여 상기 프로그램 코드를 재저장시키는 플래쉬 메모리부; 일반적인 동작에서는 변수와 스택 등을 위하여 사용되며, 다운로드시에는 코드 영역으로 디코딩되어 로더가 실행될 영역으로 사용되는 SRAM부; 및 상기 플래쉬 메모리와 상기 SRAM을 데이터 영역과 코드 영역으로 동작 상태에 따라 전환해주기 위한 전환부를 구비하여 이루어진다.
Description
본 발명은 감시 제어 시스템의 원격 다운로드 장치 및 방법에 관한 것으로서, 더욱 상세하게는 데이터 영역과 코드 영역이 별도로 존재하는 시스템에서 원격에서 프로그램을 다이나믹하게 다운로드받아 실행시키기 위하여 코드 메모리와 데이터 메모리를 스위칭하여 처리할 수 있도록 한 감시 제어 시스템의 원격 다운로드 장치 및 방법에 관한 것이다.
일반적으로 코드 메모리와 데이터 메모리가 독립적으로 존재하는 시스템, 즉 데이터 메모리와 코드 메모리가 별도의 메모리맵으로 구성된 시스템에 있어서, 시스템 운영중에 프로그램의 버전업 등을 하기 위하여 프로그램을 변경하여야 하는 바, 코드 메모리와 데이터 메모리를 별도의 메모리맵으로 갖는 시스템에서는 코드와 데이터를 하나의 메모리맵으로 갖는 일반적인 중앙 처리부와 동일한 방법으로 자신의 코드 영역을 갱신할 수 없다. 다시 말해서, 현재 실행하고 있는 코드가 자신이 실행되고 있는 코드 메모리를 갱신할 수 없으며, 중앙 처리부에서는 코드 영역에 대한 쓰기 신호를 발생하지 않으며, 데이터 메모리 영역으로 점프도 불가능하다. 이는 코드에 대한 처리 명령과 데이터에 대한 처리 명령이 다르기 때문이다.
따라서, 종래에는 코드 메모리와 데이터 메모리가 독립적으로 존재하는 시스템에서 프로그램을 변경하려면 ROM을 교체하여야 하는 문제점이 발생하였다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 쓰기가 가능한 장치를 코드 영역으로 사용하고, 프로그램을 원격에서 다운로드 받을 수 있도록 함으로써 프로그램을 용이하게 변경할 수 있도록 한 감시 제어 시스템의 원격 다운로드 장치 및 방법을 제공함에 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 감시 제어 시스템의 원격 다운로드 장치는 프로그램을 다운로드할 호스트 장치와 연결되는 직렬 포트부; 시스템 전체를 제어하며, 외부 장치와 통신하기 위하여 데이터와 어드레스를 멀티플렉스하여 내보내는 중앙 처리부; 상기 중앙 처리부에서 멀티플렉스된 버스에서 어드레스를 래치하기 위한 래치 회로부; 프로그램 코드를 저장하여 상기 중앙 처리부가 실행 가능하도록 하며, 다운로드 명령시 로더에 의하여 상기 프로그램 코드를 재저장시키는 플래쉬 메모리부; 일반적인 동작에서는 변수와 스택 등을 위하여 사용되며, 다운로드시에는 코드 영역으로 디코딩되어 로더가 실행될 영역으로 사용되는 SRAM부; 및 상기 플래쉬 메모리와 상기 SRAM을 데이터 영역과 코드 영역으로 동작 상태에 따라 전환해주기 위한 전환부를 구비하여 이루어진다. 나아가, 상기 전환부는 상기 중앙 처리부에서 프로그램을 패치하기 위하여 사용되는 신호 PSEN*와, 주소 신호 A15와, 데이터를 쓰기 위하여 사용되는 신호 WR*와, 데이터를 읽기 위하여 사용되는 신호 RD*를 입력 신호로 하여 상기 SRAM과 상기 플래쉬 메모리를 코드와 데이터 영역으로 변환시켜 주는 것을 특징으로 한다.
또한, 본 발명의 감시 제어 시스템의 원격 다운로드 방법은 원격 다운로드 장치를 구비한 감시 제어 시스템에 있어서, 초기 전원 인가시 플래쉬 메모리부를 코드 영역으로 동작시키고 상기 플래쉬 메모리를 리프래쉬할 로더를 SRAM부의 상위 번지에 적재시키는 단계; 프로그램 코드에 의하여 기능을 수행하다가 호스트 장치에서 다운로드 요청이 있는 지를 판단하는 단계; 상기 판단결과 다운로드 요청이 있는 경우 상기 SRAM부의 상위 번지에 있는 로더로 점프하는 단계; 상기 로더에 의해 상기 호스트 장치로부터 직렬 포트를 통하여 프로그램 코드를 수신받는 단계; 상기 수신받은 프로그램 코드를 상기 플래쉬 메모리의 0번지부터 저장시키는 단계; 상기 호스트 장치로부터 마지막 데이터를 수신받았는 지를 판단하는 단계; 및 상기 판단결과 마지막 데이터를 수신받은 경우에는 상기 플래쉬 메모리부의 0번지로 점프하여 새로 다운로드받은 프로그램 코드에 의하여 기능을 수행시키는 단계를 구비하여 이루어지는 것을 특징으로 한다.
도 1은 본 발명의 감시 제어 시스템의 원격 다운로드 장치의 구성을 전기적으로 나타내는 시스템 블록도,
도 2는 본 발명의 감시 제어 시스템의 원격 다운로드 방법을 설명하기 위한 플로우챠트이다.
*** 도면의 주요 부분에 대한 부호의 설명 ***
10. 클럭 회로부, 20. 리셋 회로부,
30. RS-232 포트, 40. 중앙 처리부,
50. 래치 회로부, 60. 플래쉬 메모리,
70. SRAM, 80. 로직부
이하에서는 첨부한 도면을 참조하여 본 발명의 양호한 실시예에 따른 감시 제어 시스템의 원격 다운로드 장치 및 방법에 대해서 상세하게 설명한다.
도 1은 본 발명의 감시 제어 시스템의 원격 다운로드 장치의 구성을 전기적으로 나타내는 시스템 블록도이다. 이 도면에 도시하는 바와 같이, 본 발명의 감시 제어 시스템의 원격 다운로드 장치는 동기를 취하기 위하여 사용되는 주기적인 신호를 발생시키는 클럭 회로부(10)와, 전원 인가시 시스템을 초기화시키는 리셋 회로부(20)와, 프로그램을 다운로드할 호스트 장치와 연결되는 RS-232 포트(30)와, 시스템 전체를 제어하며, 외부 장치(메모리 및 I/O 장치)와 통신하기 위하여 데이터와 어드레스를 멀티플렉스하여 내보내는 중앙 처리부(40)와, 중앙 처리부(40)에서 멀티플렉스된 버스에서 어드레스를 래치{ALE(Address Latch Enable) 신호에 의하여 어드레스가 래치됨}하기 위한 어드레스 래치 회로부(50)와, 시스템에서 프로그램 코드를 저장하여 중앙 처리부(40)가 실행 가능하도록 하며, 다운로드 명령시 로더(목적 프로그램의 실행을 개시하기 위하여 이것을 주기억 장치에 읽어들이는 프로그램)에 의하여 프로그램 코드를 재저장시키기 위하여 사용되는 플래쉬 메모리(60)와, 일반적인 동작에서는 변수와 스택 등을 위하여 사용되며, 다운로드시에는 코드 영역으로 디코딩되어 로더가 실행될 영역으로 사용되는 SRAM(70) 및 플래쉬 메모리(60)와 SRAM(70)을 데이터 영역과 코드 영역으로 동작 상태에 따라 전환해주기 위한 로직부(80)를 구비하여 이루어진다.
상기한 구성에서, 타켓 시스템과 연결되어 RS-232 포트(30)를 통하여 프로그램을 다운로드할 호스트 장치로는 주로 PC나 노트북등이 사용될 수 있다.
상기한 중앙 처리부(40)는 직렬 통신을 하기 위하여 내부적으로 입력된 클럭을 분주하여 보레이트(Baudrate)를 발생시키는 장치가 내장되어 있으며, 일반적으로 많이 사용하는 9600bps로 동작하기 위하여 11.0592㎒의 클럭을 사용한다.
그리고, 중앙 처리부(40)에서 출력되는 PSEN*은 중앙 처리부(40)에서 프로그램을 패치하기 위하여 사용되는 신호이며, 코드가 저장된 플래쉬 메모리(60)와 연결되어 있어야 한다. 또한, RD* 및 WR*은 데이터를 읽거나 쓰기 위하여 사용되는 신호이다.
한편, 로직부(80)는 PSEN*, A15, WR*, RD*를 입력 신호로 하여 SRAM(70)과 플래쉬 메모리(60)를 메모리 상하위 번지를 이용하여 코드와 데이터 영역으로 변환해 주는 것으로서, A15가 'H'로 되며, PSEN*에 의하여 SRAM(70)이 프로그램 코드 영역으로 선택된다.
도 2는 본 발명의 감시 제어 시스템의 원격 다운로드 방법을 설명하기 위한 플로우챠트이다. 먼저, 본 발명의 양호한 실시예에서는 코드와 데이터를 저장하기 위하여 32Kbyte의 SRAM(70)과 플래쉬 메모리(60)를 사용한다고 가정한다.
단계(S10)에서는 초기 전원을 인가받은면 시스템을 초기화시키고, 프로그램은 코드의 0번지에서 실행되므로 플래쉬 메모리(60)가 코드 영역으로 동작되며 이때 SRAM(70)은 데이터 영역으로 동작된다. 다음 단계(S12)에서는 초기 동작시 플래쉬 메모리(60)를 리프레쉬할 로더를 SRAM(70)의 상위 번지(32K)에 적재하고, 호스트 장치로부터 다운로드 명령을 감지하기 위하여 직렬 통신 인터럽트 서비스 루틴을 설정한다.
단계(S14)에서는 프로그램 코드에 의하여 기능을 수행시키고, 단계(S16)로 진행하여 기눙 수행중에 호스트 장치로부터 다운로드 요청이 있는 지를 판단한다. 단계(S16)의 판단결과 호스트 장치로부터 다운로드 요청이 없는 경우에는 계속하여 프로그램 코드에 의하여 기능을 수행하고, 다운로드 요청이 있는 경우에는 단계(S18)로 진행하여 인터럽트를 금지시키고, SRAM(70)의 상위 번지(32K)에 있는 로더로 점프한다. 이때, A15가 'H'로 되며, PSEN*에 의하여 SRAM(70)이 프로그램 코드 영역으로 선택되고 해당 위치에 있는 로더가 실행된다. 그러므로, 이후 단계(S20)에서 로더에 의해 호스트 장치로부터 직렬 포트인 RS-232 포트(30)를 통하여 프로그램 코드를 수신하고, 단계(S22)에서는 단계(S20)에서 수신받은 프로그램 코드를 데이터 영역, 즉 플래쉬 메모리(60)의 0번지부터 저장시킨다. 여기서, 플래쉬 메모리(60)는 프로그램 알고리즘에 의해 데이터를 저장시킨다. 다음 단계(S24)에서는 호스트로부터 마지막 데이터를 수신하였는 지를 판단한다. 단계(S24)의 판단결과 마지막 데이터를 수신하지 못하였을 경우에는 단계(S20)로 진행하여 아직 수신받지 못한 프로그램 코드를 수신받고, 단계(S22)로 진행하여 수신받은 프로그램 코드를 데이터 영역에 저장시키고, 마지막 데이터를 수신한 경우에는 단계(S26)로 진행하여 플래쉬 메모리(60)의 0번지로 점프하여 새로 다운로드받은 프로그램 코드에 의하여 기능을 수행한다.
본 발명의 감시 제어 시스템의 원격 다운로드 장치 및 방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수 있다.
이상에서 설명한 바와 같은 본 발명의 감시 제어 시스템의 원격 다운로드 장치 및 방법에 따르면, 프로그램을 자주 변경해야 하는 경우 프로그램을 원격에서 다운로드하여 용이하게 프로그램을 변경할 수 있는 효과가 있다. 또한, 프로그램 영역과 데이터 영역을 액티브하게 변경하여 플래쉬 메모리의 내용을 원격에서 갱신할 수 있도록 하여 잦은 프로그램의 변경에 대한 작업과 시간을 절약하여 유지 보수를 효율적으로 할 수 있는 효과가 있다.
Claims (3)
- 프로그램을 다운로드할 호스트 장치와 연결되는 직렬 포트부;시스템 전체를 제어하며, 외부 장치와 통신하기 위하여 데이터와 어드레스를 멀티플렉스하여 내보내는 중앙 처리부;상기 중앙 처리부에서 멀티플렉스된 버스에서 어드레스를 래치하기 위한 래치 회로부;프로그램 코드를 저장하여 상기 중앙 처리부가 실행 가능하도록 하며, 다운로드 명령시 로더에 의하여 상기 프로그램 코드를 재저장시키는 플래쉬 메모리부;일반적인 동작에서는 변수와 스택 등을 위하여 사용되며, 다운로드시에는 코드 영역으로 디코딩되어 로더가 실행될 영역으로 사용되는 SRAM부; 및상기 플래쉬 메모리와 상기 SRAM을 데이터 영역과 코드 영역으로 동작 상태에 따라 전환해주기 위한 전환부를 구비하여 이루어지는 감시 제어 시스템의 원격 다운로드 장치.
- 제 1항에 있어서, 상기 전환부는 상기 중앙 처리부에서 프로그램을 패치하기 위하여 사용되는 신호 PSEN*와, 주소 신호 A15와, 데이터를 쓰기 위하여 사용되는 신호 WR*와, 데이터를 읽기 위하여 사용되는 신호 RD*를 입력 신호로 하여 상기 SRAM과 상기 플래쉬 메모리를 코드와 데이터 영역으로 변환시켜 주는 것을 특징으로 하는 감시 제어 시스템의 원격 다운로드 장치.
- 원격 다운로드 장치를 구비한 감시 제어 시스템에 있어서,초기 전원 인가시 플래쉬 메모리부를 코드 영역으로 동작시키고 상기 플래쉬 메모리를 리프래쉬할 로더를 SRAM부의 상위 번지에 적재시키는 단계;프로그램 코드에 의하여 기능을 수행하다가 호스트 장치에서 다운로드 요청이 있는 지를 판단하는 단계;상기 판단결과 다운로드 요청이 있는 경우 상기 SRAM부의 상위 번지에 있는 로더로 점프하는 단계;상기 로더에 의해 상기 호스트 장치로부터 직렬 포트를 통하여 프로그램 코드를 수신받는 단계;상기 수신받은 프로그램 코드를 상기 플래쉬 메모리의 0번지부터 저장시키는 단계;상기 호스트 장치로부터 마지막 데이터를 수신받았는 지를 판단하는 단계; 및상기 판단결과 마지막 데이터를 수신받은 경우에는 상기 플래쉬 메모리부의 0번지로 점프하여 새로 다운로드받은 프로그램 코드에 의하여 기능을 수행시키는 단계를 구비하여 이루어지는 것을 특징으로 하는 감시 제어 시스템의 원격 다운로드 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-1998-0039393A KR100428012B1 (ko) | 1998-09-23 | 1998-09-23 | 감시 제어 시스템의 원격 다운 로드 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-1998-0039393A KR100428012B1 (ko) | 1998-09-23 | 1998-09-23 | 감시 제어 시스템의 원격 다운 로드 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000020678A KR20000020678A (ko) | 2000-04-15 |
KR100428012B1 true KR100428012B1 (ko) | 2004-06-16 |
Family
ID=19551584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1998-0039393A KR100428012B1 (ko) | 1998-09-23 | 1998-09-23 | 감시 제어 시스템의 원격 다운 로드 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100428012B1 (ko) |
-
1998
- 1998-09-23 KR KR10-1998-0039393A patent/KR100428012B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20000020678A (ko) | 2000-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6131159A (en) | System for downloading programs | |
KR100415371B1 (ko) | 컴퓨터 | |
US5664194A (en) | Method for autonomously transferring code to a computer without accessing local memory by the central processing unit | |
US5940627A (en) | User selectable feature set for a flash ROM based peripheral | |
EP0858040B1 (en) | Microcomputer containing flash EEPROM therein | |
US20040250058A1 (en) | System and method for automatic booting based on single flash ROM | |
KR100428012B1 (ko) | 감시 제어 시스템의 원격 다운 로드 장치 및 방법 | |
US20030005212A1 (en) | Method and apparatus for dynamically modifying a stored program | |
KR100385184B1 (ko) | 컴퓨터 및 컴퓨터의 운영체계 정보 자동 설정 방법 | |
US7111160B1 (en) | Method and apparatus for using a development port for boot up | |
KR100223844B1 (ko) | 옵션 자동 설정 회로 | |
US6047351A (en) | Jitter free instruction execution | |
US6981109B2 (en) | Digital signal processor system having programmable random access memory that executes processing during downloading of a program | |
JPH11149376A (ja) | Bootローダー回路 | |
KR100678354B1 (ko) | 빠른 디코드 명령들을 이용하기 위한 방법 및 데이터 처리 시스템 | |
KR20020061195A (ko) | 플래시 메모리의 프로그램 업데이트 시스템 및 그 제어방법 | |
KR19990032586U (ko) | 메모리 맵 변경 회로 | |
WO1997009673A1 (en) | Transferring code to computer without accessing ram | |
JPH1020906A (ja) | データ処理装置及びデータ処理方法 | |
KR100277458B1 (ko) | 피엘씨 시스템 제어장치 및 제어방법 | |
KR101900729B1 (ko) | Plc 운영체제 구동 방법 | |
KR19980050246U (ko) | 플래쉬 rom 퓨징장치 | |
KR19980034845A (ko) | 원거리에서 오퍼레이팅 시스템의 업데이트가 가능한 인버터 | |
KR100606337B1 (ko) | 통신시스템의 자동업그레이드 전환장치 및 그 제어방법 | |
JP2000322265A (ja) | メモリ装置,メモリ装置のブート領域の再プログラミング方法,メモリ装置を有するコンピュータユニット |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120330 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20130401 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150305 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |